home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-02-26 | 142.4 KB | 3,317 lines |
- Amiga-FAQ
- *********
-
- This document lists some frequently asked questions and tries to
- give answers. Its intention is to help new users and to reduce the
- amount of news that most experienced users don't like to read anymore.
-
- Please notice that there are many questions that aren't answered yet,
- even more: Whole sections that remain empty! I feel that I cannot give
- satisfying answers. So it's your turn: Fill the gaps and tell me what i
- should include into this document!
-
-
- Disclaimer
-
- 1 CPU, Custom chips, RAM and other stuff
- 1 What are 68EC020, 68EC030 and 68LC040?
- 2 What's an FPU?
- 3 Can I use a 3.5' HD in my A1200?
-
- 2 The Operating System
- 1 Can I use another Kickstart than the builtin?
- 2 The Graphical User Interface
- 3 What is MUI?
- 1 Icon collections and Backgrounds
- 4 What is the Amiga equivalent of . (Current directory)?
- 5 The PIPE: queue-handler
- 1 Using PIPE: in a standard AmigaShell environment
- 2 The Pipe command
- 3 Pipe command support in AmigaShell
- 4 Quick usage guide
- 5 Related things
- 6 Troubleshooting
- 6 ARexx, the program control language
-
- 3 How about Graphics?
- 1 What are chunky and planar displays?
- 2 What is doublebuffering?
- 3 What monitors will work on my Amiga 1200/4000?
- 4 How do I switch between PAL and NTSC?
-
- 4 Programming
- 1 What documentation do I need as an Amiga programmer?
- 2 What is CATS?
- 3 Where do I get the Amiga includes?
- 4 How do I become a developer?
- 5 What compilers (assemblers) are there?
- 6 Those never working Esc sequences!
- 7 Is it possible to use AmigaBasic on the A1200?
- 8 How do I localize my program?
- 9 How to obtain a pointer to a console's window
- 10 What are pragmas?
- 11 My Compiler/Linker is complaining about missing symbol xxx.
- 12 Where do I find the function xxx?
- 13 The GNU C compiler: general information and installation
- 1 Current Version
- 2 Requirements
- 3 Authors
- 4 Sources for Gcc
- 5 Inline Headers
- 6 Amiga Libraries
- 7 Installation
- 8 Compiling
- 9 How to get help
-
- 5 Applications
- 1 Text Editors
- 2 What word processors are there?
- 3 Desktop Publishing
- 4 What is TeX and where can I get it?
- 5 Are there any Postscript interpreters?
- 1 Amiga Font Formats
- 2 Frequently Requested Amiga Fonts
- 3 Commercial Font Sources
- 4 Non-Latin fonts on the Amiga
- 5 Amiga Font Installation
- 6 Amiga Font Utilities
- 7 Making Outline Fonts
- 8 Problems and Possible Solutions
- 6 How to deal with Non-Latin texts?
- 1 Japanese editors and viewers
- 2 Chinese text viewers
-
- 6 Connecting your Amiga to the world
-
- 7 Emulators
- 1 Can I run Unix on my Amiga?
- 2 Is it possible to use the Amiga as X11 terminal?
- 3 Is there a way to start MS-Dos programs?
- 4 How to mount MsDos-formatted Syquests on Amiga
-
- 8 Miscellaneous
- 1 Is there any unix version of LhA?
- 2 What are files ending with ...?
- 3 Is there a Stacker-like utility to pack my hard drive?
- 4 Where do I get Fish disk xxx?
-
- 9 Where and how do I get software and other informations?
- 1 Files and databases on freely distributable software
- 2 A collection of tests
- 3 Getting files from a FTP server
- 4 Getting files from a Mail server
- 5 Getting files from a mailbox
- 6 The Fish PD series
- 1 The Amiga Library disks
- 2 The Fresh Fish CD-Roms
- 7 How do I Read and write MS-Dos disks?
- 8 How do I split large files?
- 9 Discussing things
- 10 Other FAQ's
-
- The Amiga-FAQ archive
-
- Contributions
-
- Credits
-
- Index
-
-
-
- Disclaimer
- **********
-
- This document is
-
- Copyright (C) Ignaz Kellerer
- Georg-Habel-Str. 11
- 81241 Munich (Germany)
- Tel. (+49) 089 / 885147
- Internet: kellerer@informatik.tu-muenchen.de
-
- Permission is granted to make and distribute verbatim and modified
- copies of this document following the terms of the "GNU General Public
- License" provided the copyright notice and this permission notice are
- preserved on all copies.
-
- The author gives *absolutely no* warranty that the answers given
- here are correct or usable. Many of them were contributed by other users
- and I cannot even make marginal checks. If you think that something
- should be changed, please tell me. Suggestions, contributions, new
- answers, critics, flames (oh, how I like this `nil:' :-) are rather
- welcome. See Contributions.
-
- 1 CPU, Custom chips, RAM and other stuff
- ****************************************
-
- This chapter contains questions concerning the Amiga-Hardware.
-
- 1.1 What are 68EC020, 68EC030 and 68LC040?
- ==========================================
-
- Motorola, the company producing the 680x0 family offers crippled
- versions of their processors. They are a little bit cheaper than the
- originals, that's why Commodore decided to build the 68EC020 into the
- A1200 and the 68EC030 into the A4000/030.
-
- The difference between the 68020 and the 68EC020 is that the latter
- can address just 16Mb of memory. That's why the A1200 cannot have more
- that 10 Mb RAM. In most cases you will not notice the difference.
-
- This is not the case for the 68EC030: Many owners will notice that
- the 68030 has an MMU and the 68EC030 doesn't have. There are some
- important programs depending on an MMU, for example Enforcer (a
- debugging utility), GigaMem (a program to emulate virtual memory) or
- all current Unix versions (see Unix). Other Amigas than the A4000 and
- the A3000 need an additional processor card using a 68030 or 68040 or
- 68060 to run these.
-
- Finally the 68LC040 is a 68040 without FPU. See FPU.
-
- 1.2 What's an FPU?
- ==================
-
- The first 680x0 processors (upto 68030) could process integers only.
- Floating point operations had to be emulated by the software. An FPU is
- a chip (or part of a chip) that can process floating point operations, a
- mathematical coprocessor.
-
- One separates three FPU types on the Amiga: The 68881, 68882 and the
- 68040's internal FPU. The 68882 is up to 1.5 times faster than the
- 68881, because it is splitted in two parts: A conversion unit (the
- FPU's are using an 80 bit format internally) and the arithmetic unit.
- The 68040's internal FPU adds a pipeline, but misses the trigonometric
- instructions of the others. These are still emulated by the software,
- 68040.library for example.
-
- Special programs (Raytracing, DTP, Mathematics, TeX) are offered in a
- special coprocessor version which are up to 50 times faster than the
- original versions.
-
- Michael Kaiser (kaiser@ira.uka.de)
-
- 1.3 Can I use a 3.5' HD in my A1200?
- ====================================
-
- Many people would prefer to use a 3.5" instead of the smaller 2.5"
- drives as the former are much cheaper. This is possible, but you need a
- special cable to connect the drive to your IDE controller. Additionally
- you should put some isolating material between the drive and the main
- board. Some people report termic problems but I did not notice anything.
-
- Some dealers offer a set which contains the cable, isolating material
- and for about 20$. See the magazines for more information.
-
- Thomas Schuh (thomas@stepout.tynet.sub.org)
-
- If you are going to install an IDE-harddisk, regardless if 2.5" or
- 3.5", you should always consider that the it may not work flawlessly,
- if the drive and ROM-version have not been tested and approved by
- Commodore. Regarding the A1200, one should also remember that this
- Amiga has not been designed to hold 3.5" harddisk drives. The 2.5"
- drives, which are mainly thought for portable computers, may have some
- advantages (for example in power consumption, heat emission or shock
- resistance) that could pay off because of the small keyboard case of
- the A1200 and the limited power supply. With the larger 3.5" drives,
- ventilation inside the computer might also be disturbed. If it is
- necessary to remove some shielding inside the A1200 to make the drive
- fit inside, even radio interference may occur.
-
- To sum it up: if 3.5" harddisk drives could really be used in the
- A1200 without any problems, you could be sure Commodore themselves
- wouldn't have used the slightly more expensive 2.5" drives in the
- A1200-HD.
-
- 2 The Operating System
- **********************
-
- This chapter handles questions concerning the operating system,
- Kickstart as well as the Workbench.
-
- 2.1 Can I use another Kickstart than the builtin?
- =================================================
-
- First let's drop some words on the Kickstart's Copyright: This
- belongs to Commodore, you *must not* use Kickstarts, without the right
- to do it! Especially it isn't allowed to make an image of anyone
- else's Kickstart and run this on your own Amiga. (I even doubt that it
- is allowed to do this on your own Amigas, if you have more than one.)
-
- But of course it is possible and allowed for some people, developers
- for example. There are two different ways, a hardware solution and a
- software solution. The former is to buy a card which can hold two or
- more Kickstart ROMS and allows to select between when the System is
- booting.
-
- The software solution needs a program (softkicker) and an image of
- the ROM. The softkicker allocates RAM, loads the ROM image into the
- allocated memory and reboots. Of course you have less RAM after the
- Reboot: 256Kb when running Kickstart 1.2 or 1.3 and 512Kb for Kickstart
- 2.0 or higher.
-
- There are different Softkickers, some of them needing a MMU (see
- 68EC0xx). I recommend SKick 3.43 (Aminet, directory `util/boot')
- because it doesn't need a MMU and supports many different Kickstarts.
- It is rather easy to create the ROM image using the following program:
-
- #include <stdio.h>
-
- #define kickorig 0xf80000 /* 0xfc0000 for Kick 1.2 und 1.3 */
- #define kicklen 0x080000 /* 0x040000 for Kick 1.2 und 1.3 */
-
- void main(int argc, char*argv[])
- {
- FILE *fh;
-
- if ((fh = fopen("kickstart.file", "w")) != NULL) {
- result = fwrite(kickorig, kicklen, 1, fh);
- }
- fclose(fh);
- }
-
- 2.2 The Graphical User Interface
- ================================
-
- Die standardmäßig mitgelieferte Oberfläche "Workbench" ist nur die
- Grundlage zum Aufbau einer guten, angenehmen Oberfläche.
-
- Zu diesem Zweck gibt es zahlreiche Tools, die den Anwendern das
- Leben erleichtern. Einige von diesem findet man auf dem Aminet in den
- Verzeichnissen `util/#?/'.
-
- 2.3 What is MUI?
- ================
-
- MUI is a set of shared libraries which are used to build a
- comfortable GUI (`Graphical user interface'). The general idea of MUI
- is that the programmer determines only the logical structure of the GUI
- and the look (Font, Size, Windows on Workbench, Public Screen, own
- Screen, ...) is determined by the user only. From the programmers point
- of view using MUI is simpler than `gadtools.library' but much more
- powerful. On the other hand MUI interfaces are slower than
- GadTools-Interfaces, especially on old 68000 machines.
-
- MUI is found in two archives, one for developers only and one for
- users. Source: Aminet, `dev/misc'.
-
- 2.3.1 Icon collections and Backgrounds
- --------------------------------------
-
- The standard icons aren't beautiful, indeed. But there do exist
- some beautiful icon collections. I know of `MagicWB' and `NewIcons'.
-
- `MagicWB' is Shareware. The icons are drawn beautiful in pastel with
- every known trick. You also get a lot of good backgrounds which
- beautify workbench windows and MUI programs. Fine and good readable
- fonts replace the clumsy topaz8 font. You also get good icons for the
- ToolManager. You can find a test version of MagicWB on Aminet.
-
- `NewIcons' is Freeware. The icons do have relative intensive colors
- and are drawn as three dimensional objects floating slanted in space.
- You can find NewIcons on Aminet, `util/wb/NewIcons.lha'.
-
- *F:*
- How do I turn off the "Gag" of MagicWorkbench (the intro which
- appears sometimes during booting)?
-
- *A:*
- In S: should be a file called `mti.data'. Delete it.
-
- *F:*
- How can I create NewIcons?
-
- *A:*
- The author of NewIcon currently works on an IconEd. Until then,
- Iconian 2.9x (I3) is the only way to create NewIcons.
-
- *F:*
- How can I prevent MagicWorkbench Icons to appear in incorrect
- colors?
-
- *A:*
- Register MagicWB 2.0, it contains a tool which patches the palette,
- or get one of the different tools from Aminet.
-
- *MagicColors*
- *ShoveColors*
- Its a good program, you can find it in Iconian, PictIcon or
- `Aminet:util/wb/').
-
- 2.4 What is the Amiga equivalent of . (Current directory)?
- ==========================================================
-
- The AmigaDOS equivalent for the . representing the current directory
- on Unix and certain non-reentrant interrupt handlers is the empty
- string, which is written as "".
-
- Example:
- COPY S:Startup-Sequence ""
-
- copies your Startup-Sequence to the current directory.
-
- There is some FD software available to patch a Unix-like
- interpretation of . and .. into the AmigaDOS, including, but not
- limited to, Martin Scott's UnixDirs. (Aminet,
- `os20/util/UnixDirsII.lha' or Fish-disk 837)
-
- Arno Eigenwillig (arno@yaps.dinoco.de)
-
- 2.5 The PIPE: queue-handler
- ===========================
-
- In the AmigaOS release 2.04, a new handler for passing data between
- programs was introduced. This handler is called `L:Queue-Handler',
- better known as the `PIPE:' device.
-
- `PIPE:' implements a true `pipe' familiar from UNIX systems. Its
- function is to pass the output of one program to another program as
- input. You can chain several programs together using multiple pipes.
-
- The advantages of using pipes are:
- 1. No need for a lot of RAM to keep the temporary files, or, no need
- to slow things down by storing temporary files on the HD.
-
- 2. Faster operation since the intermediate data doesn't need to be
- stored anywhere between programs.
-
- The `PIPE:' device differs from the UNIX pipes in two important
- respects:
- 1. It is a device, so the input and output of the programs doesn't
- need to be a redirected standard output, although that is the
- general case. You can also use `PIPE:' instead of files, with two
- restrictions; you can not read a directory from `PIPE:', and the
- `PIPE:' `file' can not be `seeked' in.
-
- 2. It does not support a flush operation. If all of the data written
- in a `PIPE:' device is not read out, it will stay there, buffered.
- Thus you must always `empty' a pipe before closing it.
-
- 3. Because of the above, if unread data exceeds the size of the
- `PIPE:' internal buffer, the program writing to the pipe will
- `block' (that is, suspend operation) until the data is read. See
- below on how to manually flush a pipe.
-
- The PIPE: handler name syntax is `PIPE:name/bufsize/bufnum', where
- `name' is the name for the pipe channel. Using names you can have
- several simultaneous pipe operations. The optional arguments
- `bufsize'and `bufnum' specify the size and number of the buffers used
- by `PIPE:'. Normally, you would just use `PIPE:name'.
-
- The default buffer size of `PIPE:' is 4096 bytes, and the number of
- buffers (ie. channels) is unlimited.
-
- Osma Ahvenlampi (Osma.Ahvenlampi@hut.fi)
-
- 2.5.1 Using PIPE: in a standard AmigaShell environment
- ------------------------------------------------------
-
- First, make sure `PIPE:' is mounted. You can do this by giving the
- command
- 1> Mount PIPE:
-
- in a Shell window. On an AmigaOS 2.1+ system, `PIPE:' is normally
- mounted on startup by placing the mount entry file `PIPE' in the drawer
- `DEVS:DosDrivers'.
-
- In an AmigaShell window, give the commands:
- 1> Run List SYS: >PIPE:Listoutput
- 1> More <PIPE:Listoutput
-
- (1)
-
- These two commands list the contents of the `SYS:' volume to a pipe
- and then type it in the Shell window. You could also use:
- 1> Run List SYS: NOHEAD >PIPE:Listoutput
- 1> Run Sort PIPE:Listoutput PIPE:Sortedoutput
- 1> More <PIPE:Sortedoutput
-
- Notice that you need to `Run' all the programs except for the last one.
- This is so that you can get them all running simultaneously. You could
- also use several Shell windows, or any other way of running all the
- programs at the same time. Also this might not work if `More' isn't the
- standard Commodore AmigaOS 2.04+ More found in `SYS:Utilities'.
-
- In case you need to manually flush a pipe, for example because the
- program that was reading from it aborts prematurely, it can be done
- with the command:
- 1> Type PIPE:name TO NIL:
-
- ---------- Footnotes ----------
-
- (1) Note that `1>' is the prompt AmigaShell gives when it is
- waiting for a command. The number varies, and the prompt can be
- customised to look completely different. It is not a part of the
- command.
-
- 2.5.2 The Pipe command
- ----------------------
-
- As you can see, this is a somewhat difficult way of using pipes,
- needing a lot of typing especially compared to the UNIX pipes. There is
- a solution for that.
-
- Andy Finkel, a former Commodore software engineer wrote a command
- called `Pipe' (not to be confused with `PIPE:') that simplifies the use
- of the `PIPE:' device. Unfortunately, this command did not make it into
- the 2.04 release. However, Commodore has given the permission to
- distribute this, and a few other commands, freely. (Sources: Fish disk
- 673, Aminet, `util/cli/finkelshelltools.lha')
-
- For some reason Commodore did not include these commands in the later
- OS releases, although they work fine even with OS 3.1 (V40). Thus all
- users are required to get them from the above sources if they wish to
- use them.
-
- The Pipe command usage is simple. The commands to be run with their
- inputs and outputs piped together are given as arguments to the
- command, separated by the | (vertical bar) character:
-
- 1> Pipe List SYS: | More
- or
- 1> Pipe List: SYS: NOHEAD | Sort IN: OUT: | More
-
- Notice how Sort needs `IN:' and `OUT:'. These devices don't actually
- exist, but the Pipe command simulates them with the PIPE:. This is
- necessary because C:Sort can not use the `standard IO', but insists on
- files.
-
- The separator character | can be configured to be something else
- with the local variable __PCHAR.
-
- 2.5.3 Pipe command support in AmigaShell
- ----------------------------------------
-
- There is a little known and quite useful undocumented feature built
- in the 2.04+ AmigaShell, that is, AmigaShell knows about the `Pipe'
- command. By setting the local variable _PCHAR, you can use pipes
- without even entering the Pipe command. AmigaShell will prepend it on
- the command line automatically if it sees the pipe separator command
- specified by _pchar on the command line.
-
- Thus, after the command:
- 1> Set _pchar "|"
-
- (1)
-
- the above examples can be used like this:
- 1> List SYS: | More
- or
- 1> List SYS: NOHEAD | Sort IN: OUT: | More
-
- Those familiar with the UNIX pipes will notice how the usage is very
- similar to the UNIX pipe usage.
-
- ---------- Footnotes ----------
-
- (1) The quotes around the vertical bar are important, to avoid
- AmigaShell interpreting the command as an attempt to use PIPE:, if
- _PCHAR is already set (for example if the Shell is started from within
- another one).
-
- 2.5.4 Quick usage guide
- -----------------------
-
- 1. Get the ShellTools archive from the Fish disk 673, or from Aminet,
- `util/cli/hacks204.lha'.
-
- 2. Install the commands in this archive in your Shell search path,
- preferably C:.
-
- 3. Put the command `Set _pchar |' in your `S:Shell-Startup' file.
-
- 4. Restart your AmigaShell so that it reads the `S:Shell-Startup'.
-
- 5. Try `List SYS: | More'
-
- 6. Read the ShellTools documentation and experiment.
-
- 2.5.5 Related things
- --------------------
-
- The variable _mchar is used to separate one command from another in
- a shell line. So, after the command:
- 1> Set _mchar ";"
- you can put more shell commands into the same line, separated from
- each other by `;'.
-
- 2.5.6 Troubleshooting
- ---------------------
-
- *Q:*
- When I try the command `List SYS: | More' I get an error
- PIPE: Unknown command
-
- I have `PIPE:' mounted, what's wrong?
-
- *A:*
- AmigaShell is referring to the command `Pipe' in the error, not the
- `PIPE:' device. You haven't installed the commands in the
- ShellTools archive.
-
- *Q:*
- I get a requester that says
- Please insert volume PIPE: in any drive
-
- when I try any of the command examples.
-
- *A:*
- `PIPE:' is not mounted. Try `Mount PIPE:'. If that doesn't work,
- refer to your AmigaDOS manual or a friend that knows how to mount
- devices.
-
- *Q:*
- When I try any of the examples the More window pops up but nothing
- is shown/I get an error afterwards/More pops up a file requester.
-
- *A:*
- You are not using the standard AmigaOS `More' command. Either use
- another name or install a command that supports pipes.
- Possibilities are the C= More, Less, or Most for example.
-
- *Q:*
- With use of PIPE:, sometimes characters get lost. What happened?
-
- *A:*
- Up to OS 3.1, the queue-handler has some bugs which don't allow a
- really foolproof transmission of data. A compatible replacement
- for the queue-handler can be founbd on Aminet,
- `util/sys/HWGQueue.lha'.
-
- *Q:*
- None of these happen but it still doesn't work as you described.
-
- *A:*
- Are you using OS 2.04 later? Are you using the standard AmigaShell?
- Try with all extras disabled.
-
- 2.6 ARexx, the program control language
- =======================================
-
- *Q:*
- I want to send an ARexx command through CLI or through a shell
- script, but that (rx ADDRESS PORTNAME;COMMAND) doesnt work.
-
- *A:*
- You have to put quotation marks. (rx "ADDRESS PORTNAME;COMMAND").
- It also prevents upcasing the portname when it should be lowercase.
-
- 3 How about Graphics?
- *********************
-
- Graphics is one of the major strengths of the Amiga. Why don't we
- have more answers here? :-(
-
- 3.1 What are chunky and planar displays?
- ========================================
-
- Simply put, the terms `chunky' and `planar' (short for `bitplanar')
- refer to different ways of storing graphics information in a computer's
- memory. They are rather easy to understand, as far as things go, but
- incredibly difficult to explain:
-
- Computer images are arranged as a grid of pixels, each of which can
- be thought of as a number representing the color number of the pixel,
- sort of like a paint-by-numbers scheme. For example, here's a
- simplified example image, in four colors:
-
- 00302132
-
- The Amiga stores this image in a `bitplane' mode. That is, it is
- represented by several planes of bits (binary digits, 1s or 0s). This
- is a four-color image, so each color number could be represented by two
- bits. Therefore there are two bitplanes:
-
- 00100110 Here's bitplane 0
- 00101011 And here's bitplane 1
- -------- Now, let's add them up, binary style:
- 00302132
-
- Which is the final image. If the image was in two dimensions, it
- would truly be composed of bit planes. However, I'd need three
- dimensions to show multiple bitplanes overlayed, and therefore for
- simplicity we're working in one dimension (which is all we need).
-
- Now, there's another way of storing this image. How about if we
- localize the bit data in little chunks?
-
- 00 00 11 00 01 10 11 01 = 00302132
-
- This is the principle of the `chunky' pixel mode.
-
- Both methods of image storage are perfectly logical, and no one can
- say that one is better than the other. However, there are certain
- technical aspects which cause certain advantages and disadvantages.
-
- First, if you've seen colored text scroll on your Amiga, you know
- there is a bit of "flicker" that arises. Specifically, what happens is
- that while the text is scrolling, its color temporarily changes to
- something completely different. What's happening is that the computer's
- moving several bitplanes of data while the raster (monitor electron
- gun) is sweeping across the screen. What that means is that, if the
- raster catches the data while it's being moved, you can end up with some
- bitplanes being moved and some not. What if we filled bitplane 1 in the
- example above with 0s? Instantly all the 3s become 1s, and the 2s
- become 0s! This is what causes "flicker" when certain colors are
- scrolled. By contrast, if a chunky pixel display is caught while
- scrolling, all we see is a partially-scrolled image; the colors are
- preserved (since their units are the small ones).
-
- That's a disadvantage to planar pixels, but what about chunky pixels?
- Well, recall that a computer organizes information in terms of 8 bit
- bytes. These groups are static; you cannot decide to all of a sudden
- organize data in terms of three bytes or something! Therefore, when
- using chunky pixels, things get complicated if we decide to use a
- nonconvenient number of bits per pixel. In practice, the 8-bit
- (256-color) mode, and 24-bit (16 million color) modes are the most
- common candidates for chunky pixel displays.
-
- Finally, certain effects can be accomplished with the different
- systems. Bitplanar mode is particularly useful for things like shadows
- (where an extra bitplane is set with 1s instead of 0s), and chunky mode
- is great for perspective and "mapping" (since the data for each pixel is
- localized in a single "chunk"). The latter advantage makes chunky pixel
- mode really great for games, and is what made Wolfenstein 3-D possible.
-
- We all know that Amigas use the bitplane system for storing images.
- However, the Macintosh and PC(VGA) both use chunky pixel modes. While
- we can optimize our RAM usage with "bizarre" modes like 8- and
- 128-color, they gain the advantages of non-flicker scrolling, and the
- programming simplicity of just writing a byte where you want the pixel
- to go.
-
- The difference between the two modes becomes problematic in things
- like emulation. EMPLANT has a "chunky to planar" routine which it uses
- to convert a Macintosh display into an Amiga one. "Chunky to planar"
- routines are also useful for getting chunky-inclined things to run on
- Amigas (see TMAPDemo, rotdemo). On a side note, there was some
- confusion as to what EMPLANT used the MMU for with regard to chunky to
- planar. The MMU itself is incapable of performing the algorithm for the
- conversion; rather, it is used to detect what portions of the display
- memory are updated from the Mac side, and therefore the processor is
- saved from having to perform the chunky to planar conversion for the
- entire display.
-
- I sincerely hope that helped clear up most of the mystery concerning
- the terms "Chunky" and "Planar"!
-
- (Joseph Luk, jluc@eis.calstate.edu)
-
- 3.2 What is doublebuffering?
- ============================
-
- Don't be ashamed if you haven't a clue as to what this is. It's
- rather simple, really. Imagine you wanted to animate something by
- drawing out each frame. Now imagine you had only one piece of paper.
- Even if you drew pretty fast, it would be difficult to see what the
- animation looks like because you'd have to erase the frame you just
- drew, in order to draw the next one!
-
- What if you had two pieces of paper? Why, then, you could see the
- difference between two adjacent frames. First you'd draw your first
- frame on the first piece of paper, then you'd draw the second frame on
- the other piece. Then you'd erase the picture on the first piece of
- paper, and draw in the third frame. Then you'd erase the picture on the
- second piece of paper, and draw in the fourth frame, and so forth.
-
- This is the principle of doublebuffering. The computer shows you the
- picture it just drew, then turns around and draws the next one. It then
- swaps the picture in front of you with the one it just drew, and
- repeats the process. The result is a smooth animation, because you
- never need to see the computer draw; all you see is each finished
- product.
-
- (Joseph Luk, jluc@eis.calstate.edu)
-
- 3.3 What monitors will work on my Amiga 1200/4000?
- ==================================================
-
- Monitors can be classified after the horizontal scan frequency they
- require. TVs, as well as C='s 1084 monitor, need frequencies around 15
- kHz. VGA/SVGA need approx. 30 kHz. Multisync monitors can take many
- frequencies.
-
- In short: You can use any monitor you want with an A1200. BUT:
-
- - If you use a regular VGA/SVGA monitor, you can only use a few
- display modes (like DblPAL, DblNTSC and/or Productivity). I.e.
- (320|640) x (256|512|1024) for DblPAL. This is great for Workbench
- and all "serious" utilities (DTP etc), but don't expect any games
- to work... they don't use your preferences, just take over the
- machine and assume a 15 kHz monitor. Also, you cannot utilize the
- "Early Startup Control" screen (you know, disable cache, and that
- stuff), which also requires a 15 kHz monitor. Furthermore, VGA
- monitors don't have speakers. And the VGA-type modes don't support
- Genlocks. But for a lot of "serious" work, a VGA monitor is quite
- adequate.
-
- - You already know what happens with a 15 kHz monitor; the
- flickering in Interlace mode. A small tip: Try to use NTSC instead
- of PAL. This increases the refresh rate from 25 Hz to 30 Hz, at
- the expense of lower vertical resolution (482 lines maximum). The
- NTSC and PAL modes aren't as bad as many people think. If your
- monitor has a lot of phosphorous (long afterglow), PAL Laced can
- be quite OK, and it gives you a resolution of 1448x566 in
- SuperHiRes. That's the highest resolution currently supported on
- AGA Amigas, in _any_ display mode.
-
- - A Multisync gives you the best of both worlds. The 1940 and 1942
- monitors from C= are quite OK, although rather cumbersome to
- use... The h/v size and offset must be set manually each time you
- switch display mode. (1) The 1960 monitor doesn't have this
- problem, but it's a bit more expensive.
-
- For a VGA/SVGA or Multisync monitor, you'd need a little shiny box
- which gives you the standard 15-pin "D" connector. It costs around $15.
-
- There are other alternatives... like the "AmiVGA" box ($50 or so),
- which I think is a cheapo version of the Flicker Fixer. (But it's
- really a shame to use this on an AGA Amiga.)
-
- Also, you can get a VGA monitor, and hook up your TV to the
- composite or RF port on the Amiga - one monitor for games, one for
- serious stuff.
-
- (Per Espen Hagen, per.e.hagen@ffi.no)
-
- ---------- Footnotes ----------
-
- (1) A patch is available on Aminet for Kickstart 3.0 to do this
- without manual actions in the file `os30/util/Monitor30Patch.lha'.
-
- 3.4 How do I switch between PAL and NTSC?
- =========================================
-
- PAL and NTSC are two different video standards, the former being
- European, and the latter being American. PAL has a slightly taller
- screen (256 lines non-interlaced, non-overscanned) as opposed to NTSC
- (200 lines), so if you see the bottom portion of a program's screen
- getting cut off on your American machine, chances are the program was
- written for PAL, and is running on your shorter NTSC screen. PAL and
- NTSC differences are somewhat less important to European users; since
- their machines default to PAL, running an NTSC program is no more than
- a minor annoyance having the screen only appear in the top portion of
- the display.
-
- Therefore, for us NTSC folks, switching into PAL mode becomes
- important to avoid loss of some picture on Euro Demos, etc.
-
- First, the most common misconception about switching between PAL and
- NTSC is that you need a Multiscan or special monitor for such a purpose.
- Not so! Just about any monitor can handle the minor signal difference
- between PAL and NTSC (50Hz vertical refresh versus 60Hz). The 108x,
- 19xx, and 20xx series, and even most TVs, can display both PAL and NTSC.
- Sometimes it is necessary to perform minor tweaking of vertical hold
- and/or v. size on your monitor to achieve full display, though this is
- trivial.
-
- What IS needed to switch between PAL and NTSC in software, is a
- "Fatter" (1MB) Agnus or better. If your system has more than 512K of
- CHIP RAM (use the avail command to find out) you have this chip. If you
- do not, ou can still construct a hardware switch (see below).
-
- The following directions assume you're an NTSC user who wants to
- switch into PAL mode, but the procedure for going from PAL to NTSC is
- much the same.
-
- The most common use of switching into PAL is for self-booting games,
- demos, etc. The best way to accomplish this on pre-3.0 systems is to
- use Chris Hames' Degrader program (most recent version: 1.30). Once you
- have procured this program, the switch is as simple as selecting
- "50Hz", and "50Hz System", then installing the program's ROMTag (little
- program that runs at boot-time) by pressing the "Survive Reset(s)"
- button.
-
- AmigaDOS 3.0 added a PAL/NTSC switch feature to its Boot Menu, and
- all you need to do in order to access this is hold down both mouse
- buttons as the computer boots. Select Display Options, Display
- Mode/PAL, and then Boot. If the program still fails to go into PAL mode
- (Zool is one I've found), you may wish to get Degrader anyway and try
- that.
-
- Software PAL/NTSC switching is easy and painless. Some people have
- gone even further by installing hardware PAL/NTSC switches. This
- results in a system which even the most nasty hardware-banging programs
- can't bring to its original configuration (if it has been switched).
- The procedure is simple - most Amigas have jumpers already - but beyond
- the scope of this document.
-
- Therefore, if your screen is too short or cut off, seek the different
- screen mode. You'll "see new horizons", literally!
-
- (Joseph Luk, jluc@eis.calstate.edu)
-
- (1)
-
- ---------- Footnotes ----------
-
- (1) PAL/NTSC switching with a MultiSync monitor is possible on 2.0+
- and easily accomplished by moving the PAL monitor type to (or NTSC, as
- applicable, I have them both in) the Devs/Monitors drawer (from the
- Storage/Monitors drawer), reboot, then go into the Prefs drawer and
- select the ScreenMode program. You will see at least two PAL modes
- available (PAL and PAL Interlaced). Simply select one of the (usually
- non-interlaced for demos) and select "Use". All windows on the Workbench
- will close, the video mode will change, and then the windows will
- reopen - that simple!
-
- Allen J. Newton, anewton@alturia.abq.nm.us
-
- 4 Programming
- *************
-
- This chapter handles problems arising for programmers and
- compiler-users only.
-
- 4.1 What documentation do I need as an Amiga programmer?
- ========================================================
-
- The best information available are the RKMs (ROM Kernel Manuals), 3rd
- edition, by Commodore, published by Addison-Wesley:
- The Amiga ROM Kernel Manual: Libraries, ISBN 0-201-56774-1
- The Amiga ROM Kernel Manual: Devices, ISBN 0-201-56775-X
- The Amiga ROM Kernel Manual: Includes and Autodocs, ISBN
- 0-201-56773-3
- The Amiga Hardware Manual, ISBN 0-201-56776-8
- The Amiga User Interface Style Guide, ISBN 0-201-57757-7
-
- Especially the RKM: Libraries is a must. The RKM: Includes and Autodocs
- isn't that much worth: Better get the same stuff on disk instead to
- have it online. See Includes.
-
- AmigaDOS isn't included in these books. The Autodocs give much
- information, but to go deeper you probably need
- The AmigaDOS Manual, 3rd Edition, ISBN 0-553-35403-5
- published by Bantam Books.
-
- A better choice for developers is
- The Amiga Guru Book
-
- by Ralph Babel. The book starts with a survey on different aspects of
- programming the Amiga. (About 250 pages) Useful for beginners are the
- sections on the Amiga's data types (not to be confused with the 3.x
- DataTypes used by MultiView, for example), the Includes and the
- amiga.lib. But even experienced programmers will find useful things
- here that are missing in the RKMs. But the largest part are about 500
- pages on AmigaDOS and, as I think, the most important, because AmigaDOS
- is the worst officially documented part of the OS. The book is rather
- concise and hence not as easy to read as the RKMs, but I recommend it
- as an addition and instead of the AmigaDOS manual. (Not, however, a
- replacement for the Libraries and Devices, which aren't covered here.)
- Unfortunately the book has no ISBN and is available in special stores
- only. But there are some mail order companies which offer it for about
- 50$ and which accept credit cards:
-
- Almathera Systems Limited
- Southerton House
- NBG USA, Inc. Boundary Business Court
- 482 Holly Avenue 92-94 Church Road
- St. Paul, MN 55102 Mitcham, Surrey CR4 3TD
- USA England
- Voice: +1 (612) 290 9447 Voice: +44 181 687 0040
- Fax: +1 (612) 290 9449 Fax: +44 181 687 0490
- E-Mail: <almathera@cix.compulink.co.uk>
-
- Stefan Ossowskis Schatztruhe
- Hirsch & Wolf OHG Gesellschaft für Software mbH
- Mittelstraße 33 Veronikastraße 33
- D-56564 Neuwied D-45131 Essen
- Germany Germany
- Voice: +49 (2631) 8399-0 Voice: +49 (201) 788778
- Fax: +49 (2631) 8399-31 Fax: +49 (201) 798447
- E-Mail: <stefano@tchest.e.eunet.de>
-
- Someware
- 27 rue Gabriel Péri
- 59186 Anor
- France
- Voice: +33 27596000
- Fax: +33 27595206
- E-Mail: <didierj@swad.someware.com>
- See FAQs.
-
- 4.2 What is CATS?
- =================
-
- This is a department at Commodore West Chester which was formerly
- named `Commodore Amiga Technical Support' and was later renamed
- `Commodore Application and Technical Support'. These are people that
- work independently of Engineering, but close together with them, and try
- to help developers outside of Commodore to create nice Amiga
- applications, software or hardware. To achieve this, CATS has gathered
- a lot of informations and tools, on floppy, CD, or paper. Much of this
- material is also available to the general public. (1) But don't mix
- this up with some sort of Hotline for everyone!
-
- For Americans the address to get this material is
- CATS
- Commodore Electronics Limited
- 950 Rittenhouse Road
- Norristown, PA 19403
-
- for all Europeans it's a company in Germany:
- Fa. Hirsch & Wolf
- Mittelstr. 33
- 56564 Neuwied
- Tel. 02631/83990
-
- Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
-
- ---------- Footnotes ----------
-
- (1) Which means: For Non-Developers.
-
- 4.3 Where do I get the Amiga includes?
- ======================================
-
- The only legal way to get the includes and autodocs (and you *should*
- get them, they are *very* useful!) is to become a developer (see
- Developer) or to buy the `NDU' (Native developers update kit, also
- known as `NDUK' or `NDK'), which is offered by CATS. They cost about
- 30$ plus shipping and this seems to me to be a fair price. See CATS.
- The current version is 3.1.
-
- If you need only the includes, you could get them as well with a
- compiler (commercial compilers only) or by getting the Fresh Fish CD.
- See Fish CD.
-
- 4.4 How do I become a developer?
- ================================
-
- You need the `ADSP' (Amiga Developer Support Program) documents. To
- get this write a letter to your local Commodore branch asking for these
- documents. Everything else should be explained there. The german
- address (for the US address see CATS) is
- Commodore
- Lyoner Strasse 38
- 60528 Frankfurt
- There are three different developer versions:
- *Registered*
- developers get access to the CBMNET (kind of a Commodore-internal
- Usenet), which makes it possible to discuss problems with other
- developers, Commodore engineers included. Registered developers
- pay about US$80 per year, plus initial US$30 initially.
-
- *Certified*
- developers seem to me the most interesting claass: They have the
- possibility copy the most beta versions of the system software
- (Kickstart and Workbench) and the respective Includes and
- AutoDocs. (Not all beta versions and especially no beta hardware.)
- You pay about US$250 per year plus US$50 initially for this.
-
- *Commercial*
- developers finally have in most details the same as certified
- developers, but may expect to get more beta versions and sooner,
- included beta hardware (This has *not* always been so in the
- past.), hencethey pay about US$400 plus US$50 initially.
-
- The above describes the prices and the situation in Germany and might be
- different elsewhere. Especially not all Commodore branches offer the
- registered status. A hint is to build a group of users and become a
- developer group, so the costs are reduced.
-
- All developers have to sign non-disclosure agreements (`NDA') which
- specify that we may not discuss information outside of authorized areas
- even to other developers until given explicit permission by Commodore.
-
- 4.5 What compilers (assemblers) are there?
- ==========================================
-
- There is a lot of programming languages on the Amiga, commercial as
- well as freely distributable. I will enumerate only those that I know
- or which seem it worth to me otherwise.
-
- *Assembler*
- All C-compilers have an Assembler included. Freely distributable
- are A68K and PhxAss (directory `dev/asm' on Aminet or Fish disks
- 521 and 906)
-
- Commercial Assemblers are MaxonASM, OMA3.0 and DevPack3.14.
-
- *Basic*
- The following commercial Basic-compiler/interpreter are available:
- BlitzBasic2, Amos and MaxonBasic3.
-
- *C*
- *C++*
- Freely distributable C-compilers are `gcc' (which has its own
- directory `dev/gcc' on Aminet) and the evaluation version of
- `Dice' (for example per FTP from `ftp.uni-paderborn.de', directory
- `/news/comp.binaries.amiga/volume91/languages' or on Fish disk
- 491). The advantage of gcc is that you find gcc versions all over
- the world and on all computer systems. Another advantage is that
- C++ is included into gcc! But it is slow and needs 4Mb of RAM or
- more. See The GNU C compiler. See Mailing lists.
-
- Commercial C compilers are `Aztec-C', `Dice', `SAS/C' amd
- `MaxonC++'. `Aztec-C' doesn't seem to get further development any
- more. It should be remarked that the commercial compilers have
- especially wonderful debugging utilities (Source level debuggers!)
- that the others are missing.
-
- SAS has announced to drop support of the Amiga-Compiler, too, due
- to the Amiga's bad situation. However, the compiler is still
- available and up-to-date and has a crosscompiler included, which
- translates C++ to C and supports the source level debugger too.
- Considering the price of just 99$ for students and updates from
- recent versions or other compilers it is still the most
- recommendable of the three. In europe the compiler is available
- from
- SAS Institute, Inc. SAS Institute Gmbh
- Book Sales PO Box 10 53 40
- SAS Campus Drive 69043 Heidelberg
- Cary, NC 27513 Germany
- USA
-
- Phone: (919)677-8000 Phone: (49)6221-4160
- EMail: sasdsb@vm.sas.com EMail: eurdoc2@vm.sas.com
-
- Dice is the cheapest and fastest commercial compiler. The greatest
- disadvantage of Dice (compared to the other commercial compilers)
- is the so-called Source-Line-Debugger: This means that you see the
- current line of source and can execute the program step by step,
- like with the other debuggers. On the other hand you can examine
- memory only, not the variables. To get information about DICE,
- send email to info@oic.COM. An automatic system will return
- complete details, including upgrade prices.
-
- Comeau C++ is a crosscompiler like SAS/C++. That wouldn't be a
- problem, but Comeau C++ doesn't have a C compiler included. You
- need SAS/C, Aztec-C or Dice additionally. But it is AT&T cfront 3.0
- compliant and supports exceptions. And like gcc it runs on many
- platforms. Maxxon C++ is offered in Germany. I cannot say
- anything on it. Both compilers are commercial. Comeau's address is:
- Comeau computing
- 91-34, 120th Street
- Richmond Hill, NY, 11418-3214
- USA
-
- EMail: Greg Comeau, comeau@bix.com
-
- Maxon C++ is both a C++ and a C compiler. There is a light version
- and a developer version. The developer version matches the AT&T
- standard 3.0. Maxon-light includes a compiler and a editor.
- Developer includes a source level debugger, Amiga classes library
- and Hot Help with documentation to the amiga libs. It is a german
- product, and compiler and documentation are german. The compiler
- has some little bugs, but you can work with it well, anyway.
-
- *Forth*
- JForth is said to be an excellent Amiga port of Forth. Among its
- advantages are object oriented extensions, full Amiga interface
- and an application generator. It is available from:
- Delta Research
- P.O. Box 151051
- San Rafael, CA 94915-1051
-
- Phone: (415) 453-4320
- EMail: Phil Burk, phil@ntg.com
- Mike Haas, haas@starnine.com
-
- *Fortran*
- (Sigh! Still people who need it :-<) Freely distributable are BCF
- (Fish disk 470) and f2c, a Fortran to C converter (Aminet,
- directory `/dev/lang'). A commercial compiler is offered from
- ABSoft. All these are Fortran 77 compilers, I don't know any
- Fortran 90 compiler on the Amiga.
-
- *Lisp*
- Freely distributable Lisp interpreters are XLisp (Fish disk 181)
- and OakLisp (Fish disks 519 and 520) and CLISP
- (`/pub/lisp/clisp/binaries/amiga' at the server `ftp
- ma2s2.mathematik.uni-karlsruhe.de'). Lisp compilers are Gambit
- (Fish 764 and 765) and Scheme-to-C (Fish disks 556, 557 and 558).
- See Mailing lists.
-
- *Prolog*
- `/dev/lang/UNSWProlog.lha' and `dev/lang/sbp3_1e.lha' on Aminet as
- well as `SBProlog' on Fish disk 141 and `SBProlog' on Fish disk
- 145 are freely distributable Prolog interpreters.
-
- *Modula-2*
- M2Amiga is offered in Europe, Benchmark Modula-2 in the U.S. Both
- are said to be very good, have a powerful source-level-debugger, a
- large library. Especially M2Amiga has great support by a german
- user-group (AMOK) which for example offers own PD disks. See
- Mailing lists.
-
- M2Amiga is offered by:
- A+L AG
- Daderiz 61
- 2540 Grenchen
- Schweiz
-
- Tel.: +41/65/52 03-11
- Fax: -79
-
- Benchmark Modula-2 is available from:
- Armadillo Computing
- 5225 Marymount Drive
- Austin, Texas 78723
- USA
-
- Phone/FAX: 512/926-0360.
- EMail: Jim Olinger, jolinger@bix.com
-
- *Oberon*
- *Oberon-2*
- Two compilers (both Oberon-2) are available: AmigaOberon
- (commercial) is offered by the same company as M2Amiga. It is
- integrated into a full developers environment and has a large
- library of modules. Library linker and source level debugger are
- available.
-
- Oberon-A is a Freeware compiler. (Source: Aminet, `dev/obero'
- directory) However, this is a beta release, especially the module
- library is limited. See Mailing lists.
-
- The AMOK user group supports AmiOberon as well as M2Amiga.
-
- In addition to these two standalone compilers which are thought
- mainly for creating AmigaOS applications, there is an Amiga port of
- the Oberon Sytem V4, too. The Oberon System is implemented as an
- AmigaOS-Task using a separate screen and includes an Oberon-2
- compiler. You can use it to write software that will work on all
- implementations of the Oberon System V4 (for example Macintosh,
- Windows or Sparc) without any changes.
-
- *Pascal*
- There is a PD-compiler called PCQ (Directory `dev/lang' on Aminet
- or Fish disk 511). It doesn't support all of Pascal and major
- features are missing. P2C, a pascal to C converter is on disk 341.
- (Aminet: `/dev/misc/p2c120.lha') Additionally there are two
- commercial compilers called HiSoft Pascal and KickPascal. HiSoft
- Pascal and P2C claim to be compatible to Turbo Pascal up to 5.0.
- HiSoft has a source level debugger included.
-
- 4.6 Those never working Esc sequences!
- ======================================
-
- Many printers come with a manual that explains which Esc sequence
- causes which action on the printer. But there happen weird things when
- you try to send these sequences to your printer, either it does
- nothing, or it does something completely different. There is a reason,
- the Amiga printer drivers. These drivers are made in a way that they
- only understand a certain set of `ANSI Esc sequences', not the special
- ones defined (differently) by the various printer manufacturers. The
- purpose is that every application on the Amiga just uses this one
- standard set of control sequences and this way doesn't need to know
- which printer is actually connected. The printer driver then translates
- these standard sequences into the special sequences a certain printer
- understands. A list of the available ANSI Esc sequences is found in
- the current Workbench manuals (or older AmigaDOS manuals). Now if you
- want to issue a control sequence to the printer that's not available as
- an ANSI command, you have two possibilities to achieve this:
- 1. Bypass the printer driver (that would unsuccessfully try to
- interpret the sequence) and send your output *only* during this
- sequence to `PAR:' (or `SER:', respectively). For this you have to
- close and open printer output channels very often which is rather
- tedious, and you have to know where (`PAR:' or `SER:') your
- printer is connected.
-
- 2. Use a special ANSI sequence, made exactly for this case:
- `Esc[<n>"<x>'
- where `<n>' is the decimally typed number of bytes in the string
- `<x>', which actually contains your special printer sequence. This
- ANSI sequence tells the printer driver to not interpret or
- translate the next `<n>' bytes.
- But both methods have one big disadvantage when used in an
- application program: You lose the printer independency! If you stick to
- ANSI sequen- ces, you can output to any printer on earth, as long as
- there is an Amiga printer driver for it. If you start to use special
- control sequences, your program will be tied to this single printer
- model and will not be usefull for any other (or you would have to
- provide some dozen new printer drivers for your application).
-
- Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
-
- 4.7 Is it possible to use AmigaBasic on the A1200?
- ==================================================
-
- AmigaBasic wurde (als einziges Amiga-Programm) von Microsoft
- entwickelt und ist entsprechend fehlerhaft.
-
- Man kann es auf dem A1200 trotzdem zum Laufen bringen, wenn man
- folgendes beachtet:
-
- 1. run NoFastMem (or turn off FastMem).
-
- 2. Switch off sound output in the Sound prefs editor.
-
- 3. Better avoid SUBs and use GOSUBs instead, then the compatibility
- with newer processors will be higher.
-
- 4. There is a patch you should run at the beginning of AmigaBasic:
- ---------------------------------- CUT HERE -------------------------------
- `" AmigaBASIC patch to let AmigaBASIC work on A1200 and other newer machines.
- `" Start at the beginning of AmigaBASIC or invoke AmigaBASIC with this program
-
- OPEN "AMIGABasic" AS 1 LEN=1
- FIELD #1,1 AS d$
- i&=&HF3*256+&H87 : PRINT i&
- GET #1,i& : a$=HEX$(ASC(d$))
- PRINT a$
- IF a$="79" THEN
- LSET d$=CHR$(&H78)
- PUT #1,i&
- END IF
- CLOSE 1
- ---------------------------------- CUT HERE -------------------------------
-
- Andreas Mixich, humpty@tomate.tng.oche.de
-
- 4.8 How do I localize my program?
- =================================
-
- Suggest, you want to write a `HelloLocalWorld.c'. Your final program
- will look like this:
-
- #include "HelloLocalWorld_Cat.h"
- #include <clib/exec_protos.h>
-
- struct Library *LocaleBase;
-
- void main(int argc, char *argv[])
-
- {
- /* Open the locale.library. No kill, if not successfull.
- (Just use the builtin catalog strings instead.) Note, that
- we open locale.library here, even if our compiler supports
- AutoOpening.
- */
- LocaleBase = OpenLibrary("locale.library", 38);
- OpenHelloLocalWorldCatalogs(NULL, NULL);
-
- printf(GetString(MSG_Hello));
-
- CloseHelloLocalWorldCatalog();
- if (LocaleBase) CloseLibrary(LocaleBase);
- }
-
- The routine GetString checks, if the wished catalogs are available
- and returns a pointer to either the builtin string or the catalog
- string. (In my case the german string.)
-
- You see, the main difference besides the minor opening and closing
- stuff (OpenLibrary, OpenHelloLocalWorldCatalogs, ...) (which too can be
- dropped, too, with FlexCat) is to replace strings with a function call.
- Hence we need a file `HelloLocalWorld_Cat.c', which holds
- OpenHelloLocalWorld, GetString, CloseHelloLocalWorld and the builtin
- strings (this could be an array, where
- array[MSG_Hello] = "Hello, local world.\n";
-
- is defined) and an include file `HelloLocalWorld_Cat.h', which defines
- the message ID's like MSG_Hello. You don't need to know, how these files
- work internally, especially you don't need to know `locale.library'!
-
- There are some catalog generators (in what follows: CGs) available
- (`CatComp', for devlopers only, `KitCat', german docs only, `MakeCat',
- which I don't know and `FlexCat', which I recommend, because it is
- most flexible in the generated source and supports catalogs on 2.0 and
- any language, even Amiga-E, Cluster, Pascal, ... and besides that: I'm
- the author ;-) are tools, that create HelloLocalWorld_Cat.h,
- HelloLocalWorld_Cat.c and the real catalogs for you. (The above code
- might differ slightly between the different CGs.) (See Aminet, directory
- `dev/misc'.)
-
- Of course they need to know how to use them. First create a so-called
- `catalog-description' file. This could look like this:
- ; Lines beginning with a semicolon are comment lines.
- # language english
- ; the language of the builtin strings
- # version 0
- ; the catalog version (0 = any)
- MSG_Hello (1/15/30)
- Hello, local world
-
- Any string is defined by a line like the last two lines above: MSG_Hello
- is the message-ID, (1/15/30) says, that the value of MSG_Hello should be
- 1 (you may omit this, in which case just the next free number is used)
- and the string must not be shorter than 15 characters or longer than 30
- characters. (These may be omitted too.)
-
- Now write your program. Once you are ready, use the CGs to create a
- so-called catalog translation file. (One for any language different than
- the builtin.) In my case (german) this could look like this:
- ; Lines beginning with a semicolon are comment lines.
- ## language deutsch
- ; the catalog language (german)
- ## version $VER: Deutsch.catalog 1.0 (22.12.93)
- ; the catalog files version string
- MSG_Hello
-
- ; Hello, local world
-
- Note the empty line after the message ID. (The arguments of ## language
- and ## version would be missing as well.) You have to fill in the
- german strings here. Again using the CGs you create a catalog file from
- this. Additionally note, that no informations on the strings ID or
- length are behind MSG_Hello. They are taken from the catalog
- description file.
-
- Once you change the program (adding strings, changing the string
- length) you change the catalog description as well, use the CGs in the
- same way to update the catalog translation and hence the catalogs.
-
- 4.9 How to obtain a pointer to a console's window
- =================================================
-
- The following function returns the window pointer of a CON window.
- It can be executed safely under all versions of the Amiga's OS.
-
- struct Window *getConWindowPtr(BPTR fh)
- {
- struct Window *w;
- struct FileHandle *cfh;
- struct StandardPacket *sp;
- struct InfoData *id;
- struct MsgPort *mp;
-
- w = NULL;
-
- if ((cfh = BADDR(fh))->fh_Type != NULL) {
- if (sp = AllocMem(sizeof (struct StandardPacket),
- MEMF_PUBLIC | MEMF_CLEAR)) {
- if (id = AllocMem(sizeof (struct InfoData),
- MEMF_PUBLIC | MEMF_CLEAR)) {
- if (mp = CreatePort(NULL, 0)) {
- sp->sp_Msg.mn_Node.ln_Name = (char *) &sp->sp_Pkt;
- sp->sp_Pkt.dp_Link = &sp->sp_Msg;
- sp->sp_Pkt.dp_Port = mp;
- sp->sp_Pkt.dp_Type = ACTION_DISK_INFO;
- sp->sp_Pkt.dp_Arg1 = MKBADDR(id);
-
- PutMsg(cfh->fh_Type, &sp->sp_Msg);
- (void) WaitPort(mp);
- (void) GetMsg(mp);
-
- if (sp->sp_Pkt.dp_Res1)
- w = (struct Window *) id->id_VolumeNode;
-
- DeletePort(mp);
- }
- FreeMem(id, sizeof (struct InfoData));
- }
- FreeMem(sp, sizeof (struct StandardPacket));
- }
- }
-
- return w;
- }
-
- Notes:
- * Accessing a console's window directly may interfere with operations
- performed by the CON handler. Be careful!
-
- * To obtain the window pointer of a CLI's console, pass the
- FileHandle returned by Open("*", MODE_OLDFILE) to the above
- function.
-
- * The result of the above function may well be NULL, e.g. in case of
- an AUX handler or if an AUTO CON handler is unable to open its
- window.
-
- * Sending an ACTION_DISK_INFO packet to an AUTO CON handler (2.0+)
- causes its window to lose its special AUTO properties (i.e. it can
- no longer be closed at any time by clicking on its Close gadget),
- as the window pointer returned in id_VolumeNode must remain valid
- from now on.
-
- * All in all: Don't use this function. :-)
-
- For more information, please refer to pages 273, 276, 435, 463, 485,
- and 629 in "The Amiga Guru Book" (see Manuals).
-
- Ralph Babel, rbabel@babylon.pfm-mainz.de
-
- 4.10 What are pragmas?
- ======================
-
- Pragmas are special compiler commmands which control certain
- features of a C-compiler. Two problems arise when using pragmas:
- 1. Pragmas are compiler specific. You cannot expect that one compiler
- will understand pragmas of another compiler, even if both run on
- the Amiga.
-
- 2. You are not guaranteed that a compiler ignores pragmas, that he
- doesn't understand. Even more: It might not help, to use something
- like this:
- #ifndef MY_COMPILER
- #pragma DoAnything
- #endif
-
- A workaround is to put pragmas in a special include file (BTW, the same
- holds true for statements like #asm (Aztec-C) or #extern (C++) and
- replace the above with
- #ifndef MY_COMPILER
- #include <mypragmas.h>
- #endif
-
- But what do pragmas on the Amiga? The most common usage (not the
- only, but most meant when talking about pragmas) is to tell the
- compiler about how to call library functions: Simple C functions expect
- their arguments on the stack, but library functions want their
- arguments in special processor registers and additionally the `library
- base' in register a6. Lets have a look at a pragma command of the
- Aztec-Compiler.
- #pragma amicall(SysBase,0xd2,FreeMem(a1,d0))
-
- This tells the compiler to put the first argument of FreeMem in register
- a1, the second in register d0 and the value of the variable SysBase in
- register a6. Maxons pragmas look the same, Dice pragmas and SAS pragmas
- look a bit more complicated;
- #pragma libcall SysBase FreeMem d2 0902
-
- Here d2 is (like 0xd2 above) the `library vector offset' (see below),
- the digits 09 are codes for the argument register in reversed order
- (Register codes are 0=d0, 1=d1, .., 8=a0, 9=a1, a=a2, ..), the
- following 0 is the result's registerä(always d0))and the final digit 2
- is the number of arguments.
-
- A command `FreeMem(fib,sizeof(*fib);' could produce the following
- code, if the compiler has seen a pragma statement like above:
- move.l _fib,a1
- move.l 260,d1 ; sizeof(struct FileInfoBlock)
- move.l _SysBase,a6
- jsr -0xd2(a6) ; 0xd2 = _LVOFreeMem
-
- Calling FreeMem in that way is shorter and faster than pushing the
- arguments on the stack, calling a function _FreeMem which would do just
- the same like the above code by pulling the arguments from the stack.
-
- The best way to use pragmas is to include statements like the
- following in your program:
- /* SAS/C, Dice and GNU-c (since version 2.6.1) make it */
- /* very simple: */
- #if defined(__SASC) || defined(_DCC) || defined(__GNUC__)
- #include <proto/exec.h>
- #else
-
- /* Get the prototype for the function; note, that this */
- /* is compiler independent. */
- #include <clib/exec_protos.h>
-
- /* Get the pragma; compiler dependent, but most pragmas */
- /* are in files with the same name. */
- #ifdef AZTEC_C
- #include <pragmas/exec_lib.h>
- #elif defined(__MAXON__)
- #include <pragmas/exec_pragmas.h>
- #endif
-
- /* Declare the SysBase variable */
- extern struct ExecBase *SysBase;
- #endif
-
- The above example can be compiled on all these compilers and produce the
- best code. (Besides, the proto/*.h-files do nothing else than reading
- clib/*_protos.h and pragmas/*_pragmas.h with #include and then declare
- the SysBase variable.)
-
- A final question arises: How to get the pragmas? Most compilers have
- them included. However, sometimes you want to produce pragmas for
- yourself, for example if you are using new libraries or new versions
- with additional functions. In that case you can produce them from the
- so-called `FD' files which should be a part of the developer docs of
- the library. (The NDU has a directory FD which contains FD files for
- all libraries and devices of the OS. see Includes) Most compilers have
- a utility with the name `fd2pragma' or similar included which can do
- that for you. A freely distributable version which can produce pragmas
- for Aztec, Dice, SAS and Maxon as well as LVO files for assembler and
- stub routines for the tag versions is available on Aminet
- (`dev/misc/fd2pragma2_0.lha' and on the Fish CDs.
-
- For pragmas under gcc see Inline Headers.
-
- 4.11 My Compiler/Linker is complaining about missing symbol xxx.
- ================================================================
-
- First be sure, that the function is really missing: For example
- floating point functions are in a special link library and you need a
- linker option like `-lm' to include it into your program. Another
- possibility would be that you are using a library function and didn't
- notice it. This might lead to a missing library base, `IntuitionBase'
- for example. In that case just put something like
- struct Library *IntuitionBase;
-
- somewhere in the global part of your program. (Don't forget to call
- OpenLibrary() and CloseLibrary! :-)
-
- However, you could as well use a function which really isn't present
- in your library at all. If you have, for example, an amiga.lib from 2.0
- you would hardly find the locale functions or the pool memory
- functions. (1) Best solution is to get the NDU (see Includes), but you
- probably don't want to wait for it. In that case you have to find what
- kind of function you are missing.
- * Simple library functions (Examples: `exec/AllocPooled',
- `locale/OpenCatalogA') can be called with pragmas. However, you
- need informations on the name of the library base and where to put
- the arguments. See Pragmas.
-
- * Tag functions are mostly just stub functions which call library
- functions. If you have, for example, `dos/AllocDosObject' which
- expects a constant and a pointer to an array of tags, you have the
- varargs version `AllocDosObjectTags' which expects tags on the
- stack as well! Just create the following function:
- #include <clib/dos_protos.h>
- #include <pragmas/dos_pragmas.h> /* Probably wrong name */
-
- void *AllocDosObjectTags(ULONG objtype, Tag tag1, ...)
- { return(AllocDosObject(objtype, (struct TagItem *) &tag1);
- }
-
- * Some functions still remain: Amiga.lib has some functions which
- are really doing valuable things and not just call a library: The
- BOOPSI functions (`DoMethod', `DoSuperMethod') the memory pool
- functions (`LibAllocPooled', `LibCreatePool', which are
- replacements of 3.0 functions). The only way to replace these is
- to get equivalents. The AmigaFAQ archive contains some of them
- (DoMethod, DoSuperMethod and HookEntry) in the `programmer'
- directory as well as the most common pragma files and some
- examples of varargs functions. See Amiga-FAQ Archive.
-
- ---------- Footnotes ----------
-
- (1) This problem arises most frequently for owners of Aztec which
- is no longer supported and owners of Dice, which has sometimes rather
- incomplete libraries. I own both ...
-
- 4.12 Where do I find the function xxx?
- ======================================
-
- If you are not sure about the name of the appropriate function for a
- certain job or in which library to find it, you can search in these
- places:
- * In the Autodocs for each library you find at the very beginning a
- contents table listing all functions available in this library.
- They are sorted alphabetically, just like in the rest of the
- Autodocs. In the body part of the Autodocs you find complete
- explanations and specifications for each library function. See
- Includes.
-
- * The .FD files also offer a very compact overview over all functions
- of the diverse libraries, complete with a short information about
- the function arguments. If you already know roughly what you
- search for and e.g. only need the precise order of the arguments,
- you can find all needed information here. See Pragmas.
-
- Dr. Peter Kittel, peterk@cbmger.de.so.commodore.com
-
- 4.13 The GNU C compiler: general information and installation
- =============================================================
-
- This chapter contains general and installation information about the
- amiga-port of the GNU C compiler gcc.
-
- 4.13.1 Current Version
- ----------------------
-
- Gcc current version is now 2.6.0 and 2.6.1 is in work. It does
- include a new version of ixemul.library, v40.3, but users are urged to
- get ixemul404.lha on Aminet site or my own FTP site, due to errors for
- 68000 systems. A new library, libnix, avoid using ixemul.library.
- 2.6.1 will include protos, like SAS-C, making SASC ports to GCC easier.
- A new assembler, gas-2.5 is included, a package called q_anote enables
- output of mixing C/Asm code for debugging purposes. Work is in
- progress to implement stack growing facility, thus avoiding setting
- stack before launching gcc.
-
- 4.13.2 Requirements
- -------------------
-
- Any Amiga (ranging from A1000 upto A4000/40) will run amigados-gnu
- utilities. A minimum of 4MB memory is needed in order to compile
- small/medium projects. More memory will be needed for large projects,
- such as recompiling gcc itself, or programming C++. Gigamem and VMM do
- work with GCC so *maybe* less memory will work. But in this case, an
- MMU equipped Amiga (A3000,A4000/40) is necessary. See 68EC0xx.
-
- A full installation, including C++/ObjC related files, inline
- headers, cbm-headers, (see Includes) roughly requires about 20 MB of HD
- space.
-
- Support for 1.2/1.3 is dropped. If you have 1.2/1.3, get a better
- Kickstart version. Gcc works under KS 1.2/1.3, but the full
- functionality is only available under KS 2.x+. A fast CPU (eg.
- 68030@25MHz or better) is also of help.
-
- 4.13.3 Authors
- --------------
-
- Gcc and related GNU-software has been ported to the Amiga by the
- following folks: See How to get help.
- Gcc v2.2.2 port: Markus Wild
- Gcc v2.3.3 port: Markus Wild
- Gcc v2.4.5 port: Philippe Brand, Lars Hecking, Fred Fish
- Gcc v2.5.0 and up: Philippe Brand, Fred Fish, Leonard Norrgard
-
- Ixemul.library: Markus Wild, Leonard Norrgard, R. Luebbert
- Libnix: Matthias Fleischer, Gunther Nikl
- Gerlib: Gerhard Mueller
-
- 4.13.4 Sources for Gcc
- ----------------------
-
- All GCC sources & binaries are available on:
-
- 1. Aminet sites (wuarchive.wustl.edu and mirrors such as ftp.luth.se)
- in /pub/aminet/dev/gcc
-
- 2. Ramses The Amiga Flying BBS:
- +33-1-60037015 HST Dual v32 terbo 4800-21600
- +33-1-60037713 SupraFax v32bis 4800-14400
- +33-1-60037716 Tornado v22bis 1200-2400
- in Topic `Development', Area `Gcc' (are 156).
-
- GNU source code is available on:
-
- 1. the same FTP site you've taken the binary distribution from
-
- 2. gnu.prep.ai.mit.edu (18.71.0.38) in `/pub/gnu'
-
- 3. Ramses The Amiga Flying BBS in Topic
- `AmigaUnix/Unix/Linux/NetBSD', Area `Gnu Source Code'
-
- These archives should contain everything necessary to get you going,
- they don't include sources for ixemul.library, which are available on
- Aminet sites in `/pub/aminet/dev/gcc/ixemsrc3947.tar.gz' (as of this
- writing, work is in progress for the v40 version of ixemul.library,
- sources will be available on an Aminet site near you).
-
- As stated by Richard Stallman of the FSF:
-
- "The GPL says that any distribution of binaries must contain either
- the source code or a written offer to supply source code (see the GPL
- for details of what is required)."
-
- 4.13.5 Inline Headers
- ---------------------
-
- The inline headers for gcc can be created from the original CBM fd
- files. See Includes. See Pragmas. They can be created as follows:
-
- CLI> Assign INCLUDE: GCC:os-include
- CLI> Assign FD: INCLUDE:fd
- CLI> Makedir INCLUDE:inline
- CLI> cd USR:bin/geninline
- CLI> gen31
-
- This will create all inline-headers in `GCC:os-include/inline'. If
- you have 2.0 headers, use gen20 instead, if you have 3.0, use gen30.
- OS3.1 (rev 40.13) inline headers are included with the current version
- of gcc. See Current Version.
-
- NOTE: perl scripts do not handle correctly AmigaDOS include files,
- which seems to mean they are somewhat broken. This needs some voluntary
- work ...
-
- There is also another way of generating inline headers, using
- fd2inline program:
-
- CLI> fd2inline <fd_file> <proto_file>
-
- 4.13.6 Amiga Libraries
- ----------------------
-
- Starting from this release an AmigaDOS compliant library is provided,
- thanks to libnix authors (Matthias Fleischer and Gunther Nikl).
-
- Anyway if you want to rebuild one, there are two methods:
-
- 1) Using hunk2gcc; the AmigaDOS object converter made by Markus
- Wild. To achieve this, simply grab a copy of latest amiga.lib (from
- Commodore Development Kit, see Includes) and make a new directory where
- you want your converted object files to go, cd into it, and enter
-
- hunk2gcc amiga.lib [..further libs if you like..]
-
- This generates an a.out object file for every program unit present
- in the hunk file (in this case, from amiga.lib).
-
- As the final step convert all those files into an a.out style
- library by issuing:
-
- ar qc libamiga.a obj.*
- ranlib libamiga.a
-
- The ranlib run builds a symbol table in the archive, and makes
- accesses to the library much faster.
-
- 2) Creating a libamiga.a library with libnix is fairly easy, but
- takes some time. Just uncompress sources.lha from libnix distribution
- and run a `make libamiga.a'.
-
- *Note:* As long as you make no AmigaDOS specific calls, you can
- create a dummy library using:
-
- cat "int dummy;" >dummy.c
- gcc -c dummy.c
- ar crv libamiga.a dummy.o
- mv libamiga.a gcc:lib
-
- 4.13.7 Installation
- -------------------
-
- 1. If this is your first installation of GCC:
-
- Do the following:
-
- cd place_with_lot_of_space ; EDIT! specify one
- makedir gnu
- lha x gcc260-base.lha ; first part, you need it
-
- Now you have to append `gnu/s/user-startup' to your
- `s:user-startup' (replace Devel:GNU by your own gnu path).
-
- Continue:
-
- execute gnu/s/user-startup ; makes important assigns
- copy gnu/envarc/#? ENVARC:
-
- *Edit* the following lines! If you have a 68000 or 68010 Amiga,
- remove the "-020" from the following lines wherever it appears!
-
- lha x gcc260-c-020.lha ; C-compiler part; you need it
- lha x gcc260-doc.lha ; only if you want Gcc documentation
- lha x gcc260-c++-020.lha ; only if you want C++
- lha x gcc260-objc-020.lha ; only if you want Objective-C
- lha x gcc260-utils.lha ; only if you want additional utilities
- ; (recommended for Unix compatibility)
- lha x gcc260-utilsdoc.lha ; if you want all utilities documentation
-
- You must restore links between some programs by running the script
- `restorelinks':
-
- sh /gnu/s/restorelinks ; EDIT! Append a " copy" to this line
- ; if you don't want to use makelink
- ; but rather copy file
-
- Last part:
-
- lha x gcc260-diffs.lha ; if you want to rebuild all distribution
- lha x gcc260-texi.lha ; if you want to build Postscript doc files
-
- Now skip to next paragraph and happy compiling!
-
- 2. If you "upgrade" your gcc environment from v2.5.x, just unarchive
- first 2 archives as it would normally include all what you need
- (thus gcc260-base and gcc260-c). Make sure you delete your
- previous ixemul.library wherever it is (usually LIBS:).
-
-
- *Note*: new version of ixemul.library is provided, make sure you
- don't have another copy somewhere which may conflict with gcc.
-
- 4.13.8 Compiling
- ----------------
-
- What about a nice Hello World ?
-
- #include <stdio.h>
-
- main()
- {
- printf("Hello World!\n");
- }
-
- This was pretty simple ;-) Now we have to compile it. There's a lot
- of options in gcc but simplest way to compile this would be:
-
- CLI> gcc -o hello hello.c
-
- Simple ?
-
- Here's more options.
-
- Target processor for Motorola family: You can compile plain 68000
- code, 68020, 68030, 68040, 68881 (have a look at GCC documentation,
- either in info or AmigaGuide format, chapter `Invoking Gcc/SubModel
- Options/M680X0 Options for Motorola specific compilation flags').
-
- CLI> gcc -m68020 -m68881 -o hello hello.c
-
- This will compile your programs using 68020 code and direct calls to
- math-processor, and will link with accelerated libraries, located in
- `GCC:lib/lib020'.
-
- Optimization: Either you don't want optimization, or you can provide
- `-O', which will optimize your code, or if you really want top
- optimization, use `-O2' flag (for more discussion about optimization,
- read info or AmigaGuide doc chapter Invoking Gcc/Optimize Options).
- There's now even a `-O3' optimization option, which will go even
- further.
-
- CLI> gcc -O2 -o hello hello.c
-
- You'll never have a "Hello World" program running so fast ;-)
-
- Code generation: Perhaps you want to generate resident programs.
- Flag is -resident, at compile and link stage.
-
- CLI> gcc -resident -o hello hello.c
-
- Of course you can mix all options, resulting in:
-
- CLI> gcc -O2 -m68020 -m68881 -resident -o hello hello.c
-
- This will make a 68020+68881 executable highly optimized and
- resident.
-
- IMPORTANT: If you only use AmigaDOS functions or you don't want to
- use ixemul for philosophical reasons, you can get rid of ixemul.library
- with:
-
- CLI> gcc -noixemul -o foobar foobar.c
-
- provided you have libnix distribution (included with 2.6.0
- distribution).
-
- 4.13.9 How to get help
- ----------------------
-
- The current amiga-gcc-port maintainer is available:
-
- Philippe BRAND
- Fidonet: Ramses The Amiga Flying BBS 2:320/104.21
- Email: phb@colombo.telesys-innov.fr (ONLY for personnal email).
- Ftp: colombo.telesys-innov.fr:/pub/amigados-gnu
- or /pub/incoming/uploads for uploads.
-
- There's also an amiga-gcc mailing list running in Finland. See
- Mailing lists. Philippe Brand will forward all questions to that list,
- but you'd be better off using it directly ;)
-
- 5 Applications
- **************
-
- This chapter offers informations about major Applications.
-
- 5.1 Text Editors
- ================
-
- Text Editors are programs allowing to enter and edit unformatted
- text. Generally, this means text that is meant to be manipulated by
- machine, rather than human. Programmers use these to enter the text for
- compilers. Since UNIX machines don't typically have word processors,
- most text processing starts with a text editor, then is filtered
- through a page layout system (TeX, for example) to produce attractive
- paper results.
-
- *Commercial Products*
- CygnusEd Professional and TurboText seem to be the main contenders
- in the professional realm. The Fred Fish disks contain dozens of
- other shareware text editors. A demo version of TurboText is on
- Fish disk 445. A very old demo of CygnusEd is on Fish disk 95
- (testament to its lasting-power). In the following some freely
- distributable editors will be discussed.
-
- *Emacs*
- Gnu Emacs (the "G" is not silent) comes from Unix and is probably
- the king of editors - it's huge (about 1 Megabyte), feature-packed
- (it does windows and even contains a game!) and extensible (if you
- know lisp you can write new emacs functions and bind them to any
- key combination). On the other hand, it may be too huge, its
- feature-ladenness is imposing, and its extensibility often means
- you can't use someone else's emacs configuration. Source: Aminet
- (directory `util/gnu').
-
- *Vi*
- The leaner, less configurable, non-extensible cousin to gnu emacs
- is vi (pronounced "vee eye"). Unix people like vi especially
- because you find it on *any* Unix machine. What you choose is
- personal preference, and will mark you for life. Vim is a good vi
- for the amiga, and is on Fish disk 591 or in the `util/gnu'
- directory of Aminet.
-
- *DME*
- Many Amiga programmers like DME. It's fast, fully configurable;
- menus may be created and any key may be mapped. It's much easier
- to learn DME than than Emacs or Vi. There are three different
- versions: AmokEd, DME and XDME. It's a matter of opinion which you
- prefer. (Oberon and Modula programmers like AmokEd because it's
- written in Oberon and supports AmigaOberon error messages, C
- programmers like DME or XDME.) Sources: Aminet (directory
- `util/edit'), Fish disk 776 (XDME) and 749 (AmokEd), AMOK 90.
-
- 5.2 What word processors are there?
- ===================================
-
- A word processor is the typical application for writing notes,
- letters or reports on a computer. Unless you prepare newsletters on a
- weekly basis, your word procesor is probably your workhorse program.
- Thus choosing one you are comfortable with determines how comfortable
- you are with your computer. Word processors can offer a variety of
- features, and many can approach the sophistication required for Desktop
- Publishing (see DTP) but no one uses them for programming, for which
- text editors are more suited.
-
- One distinguishes between Wysiwyg programs (What you see is what you
- get) and page layout languages. Wysiwyg programs should be fast,
- comfortable and easy to use. Most people prefer them. The alternative
- is an approach that works similar to compilers. You feed text files to
- a a program that produces the layout which may be previewed on screen
- or printed. LaTeX takes this approach. See TeX. Lout is another such
- system which seems smaller, easier to learn and has full documentation
- included, but it is nonstandard. Lout produces Postscript output. (I
- don't know if this is an advantage or disadvantage. ;-) See Postscript.
- Both programs are freely distributable.
-
- There are a lot of wysiwyg programs, but only commercial products:
- FinalWriter, Final Copy II, Wordworth, Word Perfect, AmiWrite,
- Beckertext II, Maxon Word and many others. I don't dare to recommend
- any. All I can say is: Give yourself time to make a selection.
-
- 5.3 Desktop Publishing
- ======================
-
- These programs offer features lacking in word processors, usually
- tailored to flexible arrangement of text, but often don't provide all of
- the text manipulation that a good word processor provides. The best
- desktop publishing programs strive to provide the features of both,
- just as the best word processors strive to provide the features of
- desktop publishing programs. Microsoft Word (Mac, PC) is a good example
- of a word processing program that offers many page layout feature.
- Framemaker (UNIX, Macintosh, DOS, etc.) is an example of a desktop
- publishing system that offers most needed word processing functions. As
- yet, no Amiga program has bridged the gap, though the main word
- processors are coming close. (On the other hand, even many
- sophisticated programs don't support typesetting mathematics, tables,
- producing bibliographies, indexes, or cross-references. The page layout
- languages do, and programs like Frame are improving their support of
- such features.) Unless you need to prepare fancy newsletters or
- promotional literature, a word processing program is probably enough.
- See Word Processors.
-
- There are not yet any freely distributable wysiwyg desktop publishing
- systems. Commercial products are ProPage and PageStream. They have been
- playing leapfrog for the past few years. It appears that PageStream 3.0
- is about to leap ahead. A more detailed description of these products
- and their differences is welcome. Both programs' list prices are $299.
- Student discounts are available (approx 40% discount.)
-
- 5.4 What is TeX and where can I get it?
- =======================================
-
- TeX is a very powerful wordprocessing system. It can display
- mathematical formulas or complex tables as well as function graphs,
- creates indices, contents and many other things. Its greatest advantage
- is that it is freely distributable (TeX, not the previewers and the
- printer drivers!) and that you find TeX all over the world on every
- computer family. Its greatest disadvantage is that it isn't very handy
- (works similar to a compiler) and it isn't wysiwyg. But many people
- like it. (BTW: This document is written using TeX. 8-) See Word
- Processors.
-
- There are two major implementations on the Amiga. The first one,
- Amiga-TeX, from Thomas Rockicki and Radical Eye software is commercial.
- It is said to be excellent and his owners seem to be very satisfied.
- But it costs at least 200$.
-
- I recommend PasTeX, a freely distributable version. People seem to
- have problems installing PasTeX, especially the font loading and
- generation (It's a quite complex program.) but I did not here anyone
- upset once it was installed. (A friend with knowledge of TeX helps
- immensely.) A few words should be said what you need:
- * 5 disks containing the TeX-compiler itself
-
- * 2 disks containing MetaFont
-
- * Nothing more Jörgen Grahn has written a short essay on how he
- personally did to make LaTeX work on his Amiga. It's on Aminet as
- `text/tex/UsingLaTeX.lha'.
-
- Many people ask for fonts. They are included in the MetaFont-package
- and can get compiled by you. All you need to do is setting up your
- TeX-system in the right way which is described in the documentation.
- Please note that the PasTeX disks are compressed using the program
- Zoom. (see Endings) Sources: FTP at `ftp.uni-passau.de', directory
- `/pub/amiga/tex/PasTeX1.3' and the Fish CDs.
-
- 5.5 Are there any Postscript interpreters?
- ==========================================
-
- PostScript is a programming language designed to be used to describe
- printing on pages. Apple helped make PostScript popular by selling
- printers with built in PostScript interpreters. Many programs have
- evolved to produce PostScript programs as their output, making
- PostScript the lingua franca of printing. Until recently, in order to
- print a PostScript file, you had to have a relatively expensive laser
- printer. The development that changed this was the software PostScript
- interpreter. These programs allow your computer to interpret PostScript
- programs, and produce the matrix of dots to send to your normal
- graphics printer.
-
- One of the benefits of PostScript is that it is resolution
- independent. What this means is that it can support the highest
- resolution of your device - and that you can reasonably preview
- PostScript on a low resolution screen.
-
- There are two free PostScript interpreters for the Amiga. Post and
- Ghostscript. Post comes as an Amiga shared library along with front
- ends for previewing to the screen and printing. This structure allows
- others to write programs that can show PostScript images on screen. In
- fact, AmigaTeX uses Post's library to support incorporation of
- PostScript into documents. Ghostscript similarly comes in two
- programs, but not as a shared library. Ghostscript is the rendering
- engine, and Ghostview is the front end. Sources: Aminet (directorys
- `text/print' and `text/dtp'), Fish disk 669
-
- Font Concepts
- =============
-
- The Amiga is able to use two different concepts of fonts. First of
- all there are the bitmap fonts. These fonts are created by drawing a
- letter pixel for pixel onto the screen. The advantage is that they
- look good at small sizes, but are not very good for printout. Also
- they don't look very good when you change their size. Therefore you
- have to recreate the font for each size. Second there are the vector
- fonts. They are created by curves which are stored as mathematical
- formula. This has the advantage that changing the sizes does not
- effect the output. But this only applies for larger sizes and
- print-outs. Vector fonts also use less memory.
-
- 5.5.1 Amiga Font Formats
- ------------------------
-
- 1. Agfa IntelliFont (suffix: .type or .lib) is the native font format
- on the Amiga. You can use it in any application and it can be
- converted to the standard bitmap format using the system
- utilities `IntelliFont' (OS 3.x) or `Fountain' (OS 2.x).
-
- 2. Postscript Type 1 fonts can be used within many applications, it
- can be used in every word processor and DTP program. There are
- two versions of the Type 1 format: Binary and ASCII (suffix:
- .pfb & .pfa). The Amiga software uses the Binary format, but you
- can easily convert them with TypeSmith or some PD software
- products (z.B. PFB2PFA) . In Addition to the files mentioned
- above, there are the metrics files with the suffixes .afm or
- .pfm. They contain information about the size (width) of the
- letters and most programs expect this file to be in the same
- directory as the font file.
-
- 3. Postscript Type 3 fonts (suffix: .ps or nothing) are not often
- used on the Amiga, but some applications do support this font
- format (e.g. PageStream). There are also some download
- utilities from PD sources available.
-
- 4. Truetype fonts (suffix: .ttf) are not very common on the Amiga,
- there is one word processor supporting this format (Wordworth
- 3.0). Due to the lower quality of the format, Amiga users tend
- to use higher quality for their DTP, DTV and word processing...
- There are also two formats: Mac & Windows available. The Amiga
- software is able to use the Windows format.
-
- 5. DMF fonts is the privat format of PageStream (suffix: .dmf), since
- PageStream is the market leader in DTP programs on the Amiga, so
- this format is very common!
-
- 6. Bitmap fonts (suffix: .font and numbers in a directory by the name
- of the font, sometimes .otag when converted from IntelliFont)
- were used in the OS 1.x, but have been replaced by the superior
- IntelliFont Format in OS 2.0. Under 2.0 or higher you still are
- able to use the bitmap fonts for small sizes, but for printouts
- you should use the IntelliFont format or any other vector font
- format mentioned above.
-
- 7. Colour Bitmap fonts (same suffixes as Bitmap Fonts, but the
- numbers have in addition a C, e.g. 35C) are also very common on
- the Amiga, they are mainly used for DTV applications, like the
- Video Toaster and Scala.
-
-
- 5.5.2 Frequently Requested Amiga Fonts
- --------------------------------------
-
- 1. First place to look for fonts is the AMINET archive. This is the
- biggest archive of Amiga software and there you will find also
- quite a lot of fonts. The Aminet consists of many mirrors
- around the world. Here are some of them:
-
- 1. ftp.wustl.edu,
-
- 2. ftp.luth.se,
-
- 3. ftp.eunet.ch,
-
- 4. ftp.uni-paderborn.de,
-
- 5. ftp.doc.ic.ac.uk.
-
- Just log in as ftp and go to the directory
-
- /pub/aminet/text/font.
-
- 2. Another good ftp server to look is the CICA-server:
-
- 1. ftp.cica.indiana.edu
-
-
- To this server are also some mirrors around the world available.
-
- 3. Also a good place to look for is the following WWW server:
-
- 1. http://jasper.ora.com/Internet-Font-Archive.html
-
-
- 4. Another good place is the Fresh Fonts I CD-ROM, there you will
- almost certainly find some nice fonts. The CD is available from
-
- 1. Fred Fish / Amiga Library Services (orders@amigalib.com)
-
- 2. Stefan Ossowski / Schatztruhe GmbH
-
-
- The CD is for free when buying another CD from that company.
-
- You can also access the HTML pages on the CD under the following
- address:
-
- 1. http://macke.gris.informatik.uni-tuebingen.de:4711/~damor/
-
-
-
- 5.5.3 Commercial Font Sources
- -----------------------------
-
- Commercial fonts can be obtained from a number of different
- companies, including the large font houses: Adobe, Font Haus, Font
- Company, Bitstream, and Monotype. At these companies, fonts cost
- about $40 for a single face, and must be purchased in packages.
- Adobe, Bitstream, and Monotype also sell pre-designated type
- collections for slightly lower prices.
-
- There are also a lot of PD reseller who have a vast quantity of
- fonts, check out your local Amiga magazin for more information.
-
- Please consult the vendor list for a more complete list of vendors.
-
- 5.5.4 Non-Latin fonts on the Amiga
- ----------------------------------
-
- Due to the really bad information policy by C= there was actually no
- information about non-latin fonts. But still it is possible to use
- them, without difficulty. You just have to get yourself some
- additional files. First of all you need the non-latin font files.
- There is a large selection of them on the Fresh Fonts CD-ROM
- mentioned above. In order to use the non-latin font files, you have
- to get yourself the appropriate keymap file, this will remap the keys
- on the keyboard to the appropriate letters of the foreign alphabet,
- e.g. in order to use a Russian font, you should set the russian
- keymap file in the preferences (via PREFS/INPUT).
-
- Not only that you can write with a non-latin alphabet, you can also
- localize your workbench. How about a Greek workbench or a Hebrew
- workbench? Have a look into the AMINET archive (mentioned above) for
- these files!
-
- In addition to this you can easily use Hebrew & Arabic in any word
- processor incl. writing from right-to-left! This can be easily done
- by setting the kerning value to negative values (like this the cursor
- moves left and not right) and moving the characters into the negativ
- part! You can get fonts from me with this feature!
-
- 5.5.5 Amiga Font Installation
- -----------------------------
-
- The installation of Postscript, DMF and Truetype fonts is described
- by the application that use them. Please refer to the manuals of the
- software packages.
-
- The installation of IntelliFonts is very easy. Just start
- `IntelliFont' (OS 3.x) or `Fountain' (OS 2.x) and follow the
- guidelines from within the program.
-
- In order to install bitmap fonts, either copy them to the logical
- device FONTS: or assign the directory with your bitmap fonts:
-
- ASSIGN Fonts: <your_directory> ADD
-
- Right after this you can start your application and use them. When
- using non-latin fonts, don't forget to set the appropriate keymap
- file!
-
- 5.5.6 Amiga Font Utilities
- --------------------------
-
- 1. IntelliFont
-
- IntelliFont is the system program by OS 3.x which lets you install
- Agfa IntelliFonts and converts them to bitmap fonts. The program
- is located in the drawer `SYS:System/'. For more information
- read your Workbench 3.x manual.
-
- 2. Fountain
-
- Is the preceding program to IntelliFont and comes with the now
- obsolete OS 2.x. Please read the section about Fountain in your
- Workbench 2.x manual.
-
- 3. PFB2PFA
-
- This neat little utility lets you convert Postscript Binary files
- to Postscript ASCII files. This is needed in order to use DOS &
- Amiga Adobe Type 1 fonts on the Mac!
-
- 4. CacheFont
-
- This great program caches the fontlist for you, in order to save a
- huge amount of time. The program looks for all fonts available
- on the system and creates a special cache-file on disk.
-
- 5. TypeSmith
-
- This is the best font converter on the Amiga, besides this
- function it is also a full blown font editor (see below) :-).
- The program is able to convert between:
-
- 1. Truetype
-
- 2. DMF
-
- 3. Adobe (Type 1 & 3)
-
- 4. IntelliFont
-
- 5. Bitmap (Amiga, Adobe, DMF)
-
- 5.5.7 Making Outline Fonts
- --------------------------
-
- This is very, very difficult. Many people imagine that there are
- programs that will simply convert pictures into fonts for them. This is
- not the case; most fonts are painstakingly created by drawing curves
- that closely approximate the letterforms. In addition, special rules
- (which improve hinting, etc.) mandate that these curves be drawn in
- specific ways. Even designing, or merely digitizing, a simple font can
- take hundreds of hours.
-
- The easiest way of learning how to create fonts, is to have a look at
- existing fonts and try to change some letters.
-
- Given that, there are two major programs used for font design on the
- Amiga, TypeSmith 2.5 ($150) and FontDesigner ($100). These programs
- will allow you to import scanned images, and then trace them with
- drawing tools. The programs will then generate Adobe type 1, 3,
- TrueType, AGFA Intellifont, DMF and Bitmap fonts for either the
- Amiga, the Macintosh or the IBM PC. They will also generate automatic
- hinting. They also open previously constructed outline fonts,
- allowing them to be modified, or converted into another format.
-
- As far as I know, there are no shareware programs that allows you to
- generate outline fonts.
-
- There are also two programs for creating bitmap fonts. Personal Fonts
- Maker and Calligrapher. The second one has not been updated for
- several years, but it still is a good tool to work with. The first
- Program was created by adding some features to a good bitmap paint
- program (Personal Paint).
-
- There are some shareware tools to create bitmap fonts which you can
- convert to outline (vector) fonts with TypeSmith.
-
- 5.5.8 Problems and Possible Solutions
- -------------------------------------
-
- 1. Pagestream does not recognize your newly installed font.
-
- This happens when you have two fonts with the same ID. The
- solution is to load such a font into a font editor and enter a
- new ID for one of the fonts. Still it might happen that you
- choose another one, that has already been used by!
-
- 2. Your application does not find the IntelliFont.
-
- This happens when you haven't set the locigal device FONTS: to
- your drawer. You can change this by typing the following
- command into your SHELL or add this line to your
- `S:User-Startup' file:
-
- ASSIGN Fonts: <your_drawer> ADD
-
- 3. You're using a non-latin font and the wrong characters appear when
- typing.
-
- This happens when you forget to set the appropriate keymap file.
- Enter the Prefs directory and start the program `INPUT'. There
- you can choose your keymap file.
-
-
- 5.6 How to deal with Non-Latin texts?
- =====================================
-
- Currently I know only programs for read japanese and chinese texts.
-
- Siepieau Pang (siepiau@gbamail.mincom.oz.au)
-
- 5.6.1 Japanese editors and viewers
- ----------------------------------
-
- ANS (Amiga Nihongo System) version 1.0, produced by
- SoftHouse Tecnode
- 102 Coupo Izumi
- 1-4-5 Houya-shi
- Izumi-machi
- Tokyo 202
- JAPAN
-
- and distributed in Japan by MIQ Japan, Ltd. has been released in Japan.
- It offers a Japanese environment for Commodore Amiga users, is
- compatible with Amiga DOS 2.0 (works fine with version 1.3, too), and
- requires at least 1MB RAM (more recommended). ANS features Japanese
- windows/menus (these replace the English menus), 12 and 24 dot-matrix
- Japanese fonts, Jinput/Joutput (both constitute a Japanese front-end
- processor), XEDmini (a simple Japanese text editor with built-in font
- editor, and can be used as a Japanese terminal), a kana-to-kanji
- conversion dictionary for XEDmini and Jinput, Jfilter (for viewing
- Japanese files while connected to an MS-DOS console), and utilities for
- Japanese code conversion and communication. Note that XEDmini uses pcj
- (Japanese version of pcd) for communications, and that one can do binary
- uploads/downloads while working on files). I hear that it is reasonably
- priced, and very easy to use.
-
- JemTeX is a preprocessor that turns a Japanese text file (i.e., a
- TeX file with Japanese text) into a standard (La/Mu)TeX file. The
- archive (zipped) comes with the jis2mf utility along with a 24-dot
- bitmapped kanji font and a program for generating kanji tables. With
- jis2mf you can make metafont files out of the bitmapped font. JemTeX
- v2.0 will compile on an Amiga using SAS/C, or on a UNIX machine using
- gcc. This program is available at the FTP site utsun.s.u-tokyo.ac.jp
- (133.11.11.11). JemTeX v2.0 was written by Francois Jalbert
- (jalbert@iro.umontreal.ca or jalbert@cs.ubc.ca).
-
- The following are PD viewers on Aminet (text/show directory)
-
- JIStoJi by Bart Mathias automatically identifies electronic texts
- written in Old-JIS, New-JIS, Shift-JIS, or EUC-JIS (as well as ASCII)
- and displays them on screen, or prints them to dot-matrix printers.
- Will run on Kickstart 1.3 and up.
-
- jmore (Japanese more) is basically a more clone that also reads
- ns-kanji (Shift-JIS) text. It opens its own hires interlaced screen and
- requires a font handler called jFontSys to be running. The archive
- includes jmore, jFontsys and the wlook/16 bitmap font. However, you
- will also need the kanji fonts. (Aminet, `text/font/amknj16.lzh') All
- the documentation comes as Japanese text, so you need a JIS viewer to
- read the installation instructions. For your convenience, I have
- summarized the installation procedure below:
- 1. Place the `wlook/16' font in your `FONTS:' directory
-
- 2. Assign `JFONTS:' to where you unarchive the amknj16 fonts. This
- need not be the same as your `FONTS:' directory
-
- 3. Place the file `jFont-startup' in the `S:' directory
-
- 4. Insert the following line into your `startup-sequence':
- run >nil: jFontSys
-
- 5. To use execute the following command
- jmore <japanese.txt>
-
- JISconvert by Dwight Hubbard is a japanese text conversion utility for
- Amiga computers. It supports conversion between EUC, New JIS, Old JIS,
- NEC JIS and Shift JIS. It also has options to convert half-size
- katakana to full size and repair files with ESC characters stripped. No
- installation required. Requires AmigaDOS 2.04 or newer.
-
- 5.6.2 Chinese text viewers
- --------------------------
-
- HZview (by Ji Ma) shows 8-bit Guo Biao encoded chinese text
- documents. Requires AmigaDOS v2.1 and above, and cclib.16 bitmap
- library (included).
-
- *NOTE*: This is a pre-release version. What the doc file does not
- tell you is that you need to do the following:
- 1. Open a default public hires interlaced 1 or 2-bit deep screen
-
- 2. The size of the file to be read is restricted to about 30K (on my
- machine, A1200, WB3.0)
-
- 3. An FPU is required if you want to scroll the text without crashing
-
- 4. The cclib.16 should be in the same directory as the file to be read
-
- Other small bugs still exist which may crash the machine.
-
- 6 Connecting your Amiga to the world
- ************************************
-
- 7 Emulators
- ***********
-
- What? The Amiga isn't good enough? You really want it to be another
- machine? Well, look here...
-
- 7.1 Can I run Unix on my Amiga?
- ===============================
-
- Actually there are three Unix versions on the Amiga. All of them
- need at least 68030 (see 68EC0xx), probably a 68040 in the near future
- and seem to have problems with many hard-drive-controllers. You should
- have a good look into the documentation before installing it. Unix
- needs much resources, say at least 10Mb RAM and a 150Mb Unix-partition
- on the hard-drive.
-
- 1. Commodore offered a System V Unix in the past. It contained TCP/IP,
- X11 and other software and seemed to make a good job, but it was
- expensive and after all Commodore has dropped developing it.
- Commodore-Unix needs a streamer because it is distributed on tapes.
-
- 2. A Linux port is prepared. But actually there is not very much than
- the kernel. Specialists might like to use it, but it cannot be
- recommended for now. Linux is freely distributable. Sources:
- `ftp.tsx-11.mit.edu' or `ftp.uni-erlangen.de', both directory
- `/pub/Linux/MIRROR.tsx-11/680x0'. Or `ftp.leo.org', directory
- `/pub/comp/os/linux/680x0'.
-
- 3. NetBSD is freely distributable too. Like Linux it isn't ready for
- now, but it seems to make big steps. Most GNU software is said to
- run, especially emacs and gcc. I think it's worth to have a look
- on it. Sources: `ftp.uni-erlangen.de', Directory
- `/pub/amiga/unix/NetBSD-regensburg'. See Fish CD.
-
-
- 7.2 Is it possible to use the Amiga as X11 terminal?
- ====================================================
-
- Yes, it is. There are three different packages available:
-
- GfxBase offers a commercial version which is said to be excellent,
- but expensive. The distribution includes different window managers and
- clients. A demo version is on Aminet. (`gfx/x11/GfxBase-X11-Demo.lha')
-
- AmiWin is a Shareware X11R6 product supporting AmiTCP, AS225 and
- different graphic cards. A demo version is available on Aminet,
- `gfx/x11/AmiWin*.lha'.
-
- DaggeX is freely distributable and probably not finished yet. (It
- calls itself version 0.91.) Source: Aminet, `gfx/x11/DaggeX-0.91.lha'
- and `gfx/x11/twm_930531.lha'.
-
- 7.3 Is there a way to start MS-Dos programs?
- ============================================
-
- PC-Task is a software only IBM-PC emulator for all Amiga computers
- allowing use of MSDOS and MS Windows 3.1 software (provided RAM/HD
- space is sufficient). The current release is 3.1 which includes
- emulation of 80286 with MDA/CGA/EGA/VGA/SVGA, serial and parallel
- ports, mouse, two harddrives, two floppies and CDROM support. A
- demonstration version can be obtained from aminet sites:
- `/pub/aminet/misc/emu/PCTaskDemo31.lzh'. Author Chris Hames
- (bytey@werple.mira.net.au) Publisher (pctask@quasar.dialix.oz.au)
-
- 7.4 How to mount MsDos-formatted Syquests on Amiga
- ==================================================
-
- To mount a MSDos-formatted Syquest on Amiga, you need with an (DOSen)
- Adaptec-Controller the following Mount-entry in `DEVS:Mountlist': If
- your medium does have more than one partition, you need to copy the
- following Mount-Entry for every partition and give each partition
- another name (eg. SyC:, SyD:, SyE:, etc.) You don't need to change
- LowCyl and HighCyl for each partition; CrossDOSFileSystem does that
- automatically.
-
- SyC: /* SyD:, SyE:, etc. */
- Filesystem = L:CrossDOSFileSystem
- Device = scsi.device
- Unit = 2
- Flags = 1
- Surfaces = 1
- BlocksPerTrack = 1
- BlockSize = 512
- Reserved = 1
- Interleave = 0
- LowCyl = 0
- HighCyl = 524287
- Buffers = 128
- BufMemType = 0
- Stacksize = 4000
- Priority = 5
- GlobVec = -1
- DosType = 0x4D534800
- Activate = 1
- #
-
- For different (DOSen) controllers this entry should work, too, but
- maybe you have to adjust it. When inserted, the Syquest-270MB medium is
- (in this case) automatically mounted (as drive SyC:) and can be used
- with help of the CrossDOS-Filesystem as usual.
-
- Gerhard Schneider (fido@incubus.sub.org) Andre Keller
- (keller@rs11.hrz.th-darmstadt.de)
-
- 8 Miscellaneous
- ***************
-
- This last chapter contains some questions that don't fit in the
- chapters above.
-
- 8.1 Is there any unix version of LhA?
- =====================================
-
- See Endings.
-
- 8.2 What are files ending with ...?
- ===================================
-
- Most endings on FTP sites or Fish disks tell you that the file is
- compressed and/or is an archive containing more than one file. Some
- programs even archive whole disks. Frequently found endings and
- programs to handle the related files are:
- *.sfx*
- Compressed archives which are included in an executable program:
- Just call the program and it will extract itself (sfx = self
- extract)
-
- *.lha*
- *.lzh*
- Compressed archives; recommended: LhA (`util/arc/LhA_e138.run' on
- Aminet or Fish disk 715) or Lx (`util/arc/lx100.lha' on Aminet),
- Unix version available (`misc/unix/lha-1.00.tar.Z')
-
- *.dms*
- Disks compressed using DMS (`util/arc/dms111.sfx' on Aminet or
- Fish disk 406)
-
- *.zom*
- Disks compressed using Zoom (`util/arc/Zoom_5.4.lha' on Aminet,
- Fish disk 682); an older version which you probably need for
- uncompressing PasTeX is found on Fish disk 459.
-
- *.zoo*
- Compressed archive; recommended: Zoo (`util/arc/zpp2-10.lzh' on
- Aminet or Fish disk 527)
-
- *.Z*
- *.z*
- *.gz*
- Compressed files; recommended gzip (`util/pack/gzip124x.lha' on
- Aminet), note that this are Unix files in most cases
-
- *.tar*
- Acrhive; recommended: tar (`util/arc/tar.lha' or
- `util/arc/gtar10.lha' on Aminet or Fish disk 445), note that tar is
- a Unix archiver and you often find soething like `.tar.Z'.
-
- *.arj*
- Compressed archive; recommended unarj (`util/arc/unarj-0.5.lha' on
- Aminet)
-
- *.zip*
- Compressed archive; recommended UnZip (`util/arc/unzip-5.1.lha' on
- Aminet), note that this are MS-Dos archives in most cases
-
- 8.3 Is there a Stacker-like utility to pack my hard drive?
- ==========================================================
-
- XFH does a good job. It operates as a handler and uses the
- XPK-libraries, so you have different compression modes (RAKE is a good
- choice) and possibly even more in the future. The only disadvantage is,
- that the size of a file is limited by RAM: Don't use it with less than
- 2MB of RAM.
-
- XPKDisk by Olaf 'Rhialto' Seibert is another stacker program that
- takes advantage of the variety of XPK libraries available. Unlike other
- harddisk compressors it does not compress the files, but creates a
- pseudo partition and stores the whole tracks as compressed files on
- your harddisk. Its major advantage is that it does not limit the
- maximum file size, because it works similar to trackdisk.device and
- therefore does not need too much temporary storage.
-
- But be careful if you want to use ReOrg on a comprimized partition:
- ReOrg should be set to leave enough memory for the xpkdisk buffers.
- And because of ReOrgs buffering, you can use few buffers for xpkdisk
- (perhaps as few as 2 or 3). Don't use ReOrg if you don't know the
- memory needs of XFH or XPKDisk.
-
- Another possibility is EPU. It's shareware and should offer the same
- as XFH, but without limiting the file size.
-
- Sources: Aminet, directory `util/pack', Fish disks 754 (XFH) and 858
- (EPU)
-
- 8.4 Where do I get Fish disk xxx?
- =================================
-
- Those FTP servers have that much space (or a CD-Rom) to have all
- fish disks available online:
- ftp.isca.uiowa.edu (USA, directory `/amiga/fx/fxxx')
- ftp.hawaii.edu (USA, directory `/pub/amiga/fish')
- ftp.funet.fi (Finland, directory `/pub/amiga/fish')
-
- Note that the CD-Rom's are not always mounted. See FTP.
-
- Another possibility would be to ask your local dealer. :-)
-
- 9 Where and how do I get software and other informations?
- *********************************************************
-
- Three questions arise in this context: Which programs can be found,
- where are they and how to get them and transfer them home?
-
- 9.1 Files and databases on freely distributable software
- ========================================================
-
- Of course you need to know where you find things. Many good choices
- are listed in this paper, as I hope. Other sources are:
-
- *AmigaSciSchool*
- is a list of software and where you find it in Ascii format. It is
- posted monthly to the newsgroups `comp.sys.amiga.applications',
- `comp.unix.amiga', and `news.answers'. Additionally you will find
- it on Aminet sites (`text/doc/AmigaSciSchool-4.01'). It handles
- everything listed here and many more, for example GNU software,
- libraries (linked and shared), shells, Unix commands, educational
- and scientific software and much more.
-
- *FishCon*
- are lists of the Fish disk contents. (`fish/doc/fishcon-???.lzh' on
- Aminet)
-
- *FishXref*
- is a cross reference list of the Fish contents.
- (`fish/doc/fishxref-???.lzh' on Aminet) FishXref and Fishcon are in
- Ascii format.
-
- *KingFisher*
- A Fish disk database, (`fish/doc/Kingfisher1_30.lha', which is the
- program and `fish/doc/KFData850.lha' ,which contains the data, on
- Aminet or Fish disk 863) allows search by name and context. See
- Fish.
-
- 9.2 A collection of tests
- =========================
-
- `Comp.sys.amiga.reviews' is a moderated newsgroup where tests of
- soft- and hardware, books and anything else relevant to the Amiga are
- posted. Its always a good idea to check this newsgroup for a review, if
- you are interested in something special. Of course you always find only
- the latest reviews, but the older postings are available per FTP from
- `math.uh.edu', Directory `/pub/Amiga/comp.sys.amiga.reviews' or on the
- Fish CDs.
-
- 9.3 Getting files from a FTP server
- ===================================
-
- Things are easy for those who have access to the Internet and a
- program called FTP (File Transfer Program). Nearly all Unix computers
- have it, but not all of them allow the use of FTP.
-
- FTP allows you to gain access to some other machines and store and/or
- retrieve files. Normally one needs an acoount on the remote machine to
- use it, bat a number of machines have a setup that allows everybody to
- log in as the user `ftp' or `anonymous', so anybody may get files from
- them. The most important of this servers are the Aminet servers, which
- mirror each other and hence should have the same files. They are the
- best choice if you are looking for Amiga software. Aminet hosts are
- Land Name IP Adresse Pfad Files
-
- USA (MO) ftp.wustl.edu 128.252.135.4 pub/aminet/ ALL
- USA (CA) ftp.cdrom.com 192.216.222.5 pub/aminet/ 9000
- USA (TX) ftp.etsu.edu 192.43.199.20 pub/aminet/ 5000
- USA (WI) ftp.netnet.net 198.70.64.3 pub/aminet/ 10000
- Scandinavia ftp.luth.se 130.240.18.2 pub/aminet/ 10000
- Switzerland ftp.eunet.ch 146.228.10.16 pub/aminet/ 5500
- Switzerland ftp.math.ethz.ch 129.132.104.6 pub/aminet/ 1000
- Switzerland litamiga.epfl.ch 128.178.151.32 pub/aminet/ 300
- Germany kelly.uni-paderborn.de 131.234.128.206 pub/aminet/ ALL
- Germany ftp.uni-paderborn.de 131.234.2.42 pub/aminet/ ALL
- Germany ftp.uni-stuttgart.de 129.69.18.15 aminet/ 4500
- Germany ftp.uni-erlangen.de 131.188.3.2 pub/aminet/ 7000
- Germany ftp.cs.tu-berlin.de 130.149.17.7 pub/aminet/ 4000
- Germany ftp.tu-chemnitz.de 192.108.33.193 pub/aminet/ 4000
- Germany ftp.fh-augsburg.de 141.82.16.242 pub/aminet/
- Germany ftp.uni-bremen.de 134.102.228.2 pub/aminet/
- Germany ftp.uni-oldenburg.de 134.106.40.9 pub/aminet/ 2500
- Germany ftp.uni-kl.de 131.246.9.95 pub/aminet/ 1500
- Germany ftp.uni-trier.de 136.199.8.81 pub/aminet/
- Germany ftp.uni-siegen.de 141.99.128.1 pub/aminet/ 1500
- Germany ftp.informatik.rwth-aachen.de 137.226.225.3 pub/aminet/
- Germany ftp.stud.fh-heilbronn.de 141.7.1.41 pub/aminet/ 600
- Germany ftp.rz.uni-wuerzburg.de 132.187.1.2 pub/aminet/ 700
- France ftp.cnam.fr 163.173.128.15 pub/aminet/
- Portugal ftp.ci.ua.pt 193.136.80.6 pub/aminet/
- UK ftp.doc.ic.ac.uk 155.198.1.40 pub/aminet/ ALL
- UK micros.hensa.ac.uk 148.88.8.84 pub/aminet/ 8500
- All these mirrors have a directory `/pub/aminet', where you will find
- much stuff. Please use a mirror close to you! Some other important hosts
- are
- ftp.funet.fi (Finland)
- ftp.isca.uiowa.edu (USA)
- ftp.hawaii.edu (USA)
- ftp.cso.uiuc.edu (USA)
- ftp.dfv.rwth-aachen.de (Germany)
- Note that grind, aachen and erlangen have the full collection of Fish
- disks available! See Fish disk xxx. If you don't find a specific file
- on your local mirror, try `ftp.wustl.edu', `ftp.uni-paderborn.de' or
- `ftp.doc.ic.ac.uk'; they keep all files.
-
- To connect to a special host (ftp.uni-erlangen.de for example), you
- should type
- ftp ftp.uni-erlangen.de
-
- The host answers by requesting your login. You should type
- ftp
-
- No you are asked for a password. Please type your Email address here, if
- you have one. If not, use the password ftp.
-
- Now you're inside the host. There is a number of commands you may
- execute here. The most important are:
- *?*
- Prints the help text of the FTP command. Additionally you may type
- *? command* to get information on a special command.
-
- *bin*
- Tells the FTP program that you whish to transfer binary files. It
- is always a good choice to type bin as the very first command!
- Files you load without the bin command can be corrupt.
-
- *get <file>*
- Loads the given file from the host. On most Unix machines you can
- type something like `get file.txt -' or `get file.txt |more' to
- show a text on the screen. Note that there *must not* be any blank
- between the | and the word more!
-
- *mget <pat>*
- Loads the given files. pat may contain Unix style like wildcards.
-
- *put <file>*
- *mput <pat>*
- Like get and mget, but transfer files from you to the remote host.
- This is in most cases not allowed, except for a special directory
- called `incoming'. You can place files here which you want to make
- public.
-
- *cd <dir>*
- Like the usual cd command. The commands get, mget, put, mput, dir
- and ls refer to the current working directory.
-
- *dir [<dir>]*
- *ls [<dir>]*
- Like `list' and `dir' on the Amiga. Note that the FTP-dir
- corresponds to the Amiga-list!
-
- *bye*
- Leaves the FTP program.
-
- When you have used FTP for the first times you will notice, that you
- always begin with executing the same steps:
- 1. Type the login (ftp in most cases)
-
- 2. Type the password (your mail address in most cases)
-
- 3. Enter the bin command
-
- 4. Change the current working directory (`/pub/aminet' for example)
- This may get executed automatically. What you need is a file
- called `.netrc' in your home directory. Note that it needs to be
- protected against others! The FTP program doesn't use it, if it can be
- read by anything else than you. (Protection is set using the command
- `chmod go-rwx .netrc'.) The .netrc file contains some entries for your
- most favourite FTP sites, each separated by empy lines. A typicel entry
- may look like this:
- machine ftp.uni-erlangen.de
- login ftp
- password <your mail address> or <ftp>
- macdef init
- bin
- cd pub/aminet
- Note that on some machines it is possible to use the machine name
- `default' which meets all machines not listed in .netrc.
-
- 9.4 Getting files from a Mail server
- ====================================
-
- Another way to get files is to use a mail server. This assumes that
- you can send mail to Internet addresses and get mail from Internet
- hosts. It works by sending a mail to the server specifying some
- commands, for example send commands for the files you want. Important
- mail servers are
- ftpmail@decwrl.dec.com
- mailserver@nic.funet.fi
- mailserver@leo.org
- mrcserv@janus.mtroyal.ab.ca
- mail-server@ftp.cs.tu-berlin.de
- mail-server@rtfm.mit.edu
- ftp-mail@uni-paderborn.de
-
- The most important commands are:
- *Help*
- Tells the server that you wish to get an Ascii file containing
- detailed explanation how to use the server.
-
- *Limit <number>*
- Specifys that you wish to get not more than <number> Kbytes per
- mail. Larger files get splitted into small pieces of at most
- <number> Kbytes which are sent as separate mails each. Note that
- the mails may get larger because of overhead.
-
- *Cwd <dir>*
- Sets the current working directory to <dir>. This directory is
- used by the commands send and dir.
-
- *Index*
- will return a list of files and/or directories that the server
- offers. Note that this may be *very* large!
-
- *Index <item>*
- returns a list of files containing <item> in their names.
-
- *Dir [<dir>]*
- returns a list of the files and directories in the given directory.
-
- *Send <file1> <file2> ... <fileN>*
- Tells the server to send the given files to you.
-
- *Begin*
- Tells the server to ignore all lines above this command.
-
- *End*
- Like Begin, but specifies to ignore the lines below. (A signature
- for example!) A typical session would be to send the following
- mail to the mail server:
- BEGIN
- CD /pub/aminet/util/arc
- SEND LhA_e138.run
- END
-
- 9.5 Getting files from a mailbox
- ================================
-
- You also can get files from one of the many BBS's (`Bulletin Board
- System'). Most of these are driven by private users, so there is
- nearly everywhere a mailbox which doesn't cause a too expensive
- telephone bill.
-
- I want to publish a list of all Amiga mailboxes here. So please
- send to me a list of all mailboxes which are related to the Amiga - in
- any way. I need all telephone numbers of the boxes and their name.
- Tell me the nation where the box resides and - if possible - some more
- info (Does the box have Aminet or the Fish PD or FRAS? Is the box
- especially for Amiga users?)
-
- Thanks, Ignaz Kellerer
-
- For a list of mailboxes in Germany or Austria or Switzerland, look
- at the German version of the AmigaFAQ.
-
- 9.6 The Fish PD series
- ======================
-
- A very good source is the Fish PD series. One distinguishes between
- the floppy disks and the CD-Roms.
-
- 9.6.1 The Amiga Library disks
- -----------------------------
-
- Fred Fish has started in the middle eighties to collect freely
- distributable software on floppy disks. There are 1000 disks and very
- much good stuff on it. Most Amiga dealers sell them and most magazines
- contain addresses of people mailing them to you for about 3$ per disk
- or less. Fred Fish has terminated offering software on floppy disks.
- Instead, there is a dealer who offers the new software from the CD-Roms
- on floppy disks.
-
- There are some things which can be found on the Fish disks, but not
- on Aminet. However, you can get them with FTP. See Fish disk xxx.
-
- 9.6.2 The Fresh Fish CD-Roms
- ----------------------------
-
- Fred Fish is going on to offer freely distributable software. But
- now he collects it on CD-Rom's. He releases two different kinds of CD's:
- 1. Monthly released disks are divided into roughly three sections:
- 1. New material, which includes the material from the new
- unreleased floppy disks as well as material which does not
- appear in the floppy distribution, about 84Mb on the first
- disk.
-
- 2. Useful utilities that can be used directly off the CD-ROM if
- desired, thus freeing up the corresponding amount of hard
- disk space (GNU Emacs, Gnu C, GNU C++, Amiga E, PasTeX,
- AmigaGuide, Installer, 2.0 and 3.0-Includes, different
- archivers, tape drivers, the AmiCDROM filesystem and many
- other GNU and BSD tools, ...), about 150Mb on the first disk.
-
- 3. Older material from previous released floppy disks or
- CD-ROM's, about 404 Mb on the first disk. (Fish disk 600-910)
-
- 2. Disks containing the latest software as well as recent software in
- packed format only. (These are intended to be used for example in
- BBS's.)
- I recommend especially the first kind of Fish CD's. They cost
- about 20$ plus 3$ for shipping (5$ outside USA/Canada/Mexico) and are
- available from
-
- Amiga Library Services
- 610 N. Alma School Road, Suite 18
- Chandler, AZ 85224-3687
- U.S.A.
-
- Phone/FAX: (602) 917-0917
-
- 9.7 How do I Read and write MS-Dos disks?
- =========================================
-
- No problem for owners of Workbench 2.1 or higher: The program
- CrossDos is part of the Workbench. All you have to do is mounting the
- device `pc0:' by putting it into the drawer `Devs:DOSDrivers' or by
- double-clicking the icon in `Sys:Storage/DOSDrivers'. Ms-Dos disks in
- drive `df0:' can now be handled in the usual manner replacing the word
- `df0:' by `pc0:'. For example the directory can be shown with the
- command dir pc0:.
-
- People still running Workbench 2.0 or lower need a program called
- `MSH'. You will find this on the Aminet (directory misc/emu) and on
- Fish disk 382. See Sources. After editing the file `devs:MountList' as
- described in the documentation you have to say Mount msh: in the CLI
- and can now do the same as above replacing the word `pc0:' with `msh:'.
-
- 9.8 How do I split large files?
- ===============================
-
- There are some archives which are too large to fit on one disk. To
- transfer them on disks you need to split them into smaller pieces and
- transfer each part on a separate disk. I recommend Martin Schlodder's
- `Splitter'. (Aminet, `util/misc/splitter_121.lha'. The archive
- contains binaries for MS-DOS and should be compilable without problems
- on any Unix system.
-
- 9.9 Discussing things
- =====================
-
- A mailing list is a server that allows to discuss special things via
- Email. The server holds a list of people that are interested in the
- respective topic. For example, the gcc mailing list will discuss bugs,
- new features and other problems of gcc. (see Compilers) If a mail is
- sent to the server from someone he will forward this mail to all the
- other people on the list.
-
- You will be added to the list by sending a mail to the server which
- will usually contain the word `Subscribe' or something similar. Once you
- are no more interested in the mailing list you can unsubscribe.
-
- Unforunately the servers have a different syntax of subscribing and
- unsubscribing. The best way to find how to subscribe is to send a mail
- with the word `Help' to the server. He will reply a mail which should
- explain how to handle this special server.
-
- Some mailing lists are:
- Topic Server
-
- Amok listserv@amokle.stgt.sub.org
- Dice dice-request@castrov.cuc.ab.ca or
- dice-request@hactar.hanse.de (Germany)
- gcc listserv@lists.funet.fi
- Lisp amigalisp@contessa.phone.net
- Mui mui-request@taloa.unice.fr
- Oberon-A oberon-a-request@wossname.apana.org.au
-
- 9.10 Other FAQ's
- ================
-
- This is not the only FAQ, of course. Lots of FAQ's are available
- either by being posted to newsgroups or by access via FTP.
-
- *German Amiga-FAQ*
- This is the german translation of the AmigaFAQ you are reading.
- Newsgroups: de.comp.sys.amiga.misc,
- zer.z-netz.rechner.amiga.allgemein HTML:
- `http://www.leo.org/archiv/amiga/misc/amigafaq/' Aminet:
- `docs/misc/AmigaFAQg.lha' Maintainer: Ignaz Kellerer,
- kellerer@informatik.tu-muenchen.de
-
- *Amiga related books FAQ*
- This is a list of books for the Amiga, including short discussions,
- prices and sources. Newsgroups: comp.sys.amiga.misc,
- comp.sys.amiga.introduction, comp.sys.amiga.programmer (monthly)
- HTML: `http://eksl-www.cs.umass.edu/~atkin/amiga/books.faq.html'
- Ftp: rtfm.mit.edu, `pub/usenet/comp.sys.amiga.misc'. Maintainer:
- Marc Atkin, atkin@cs.umass.edu
-
- *AmiTCP/IP FAQ*
- This is for users of AmiTCP/IP, a set of programs which allows to
- include an Amiga into a TCP/IP network. (Most well known nets,
- Internet for example use TCP/IP.) Newsgroups: comp.sys.amiga.misc,
- comp.sys.amiga.datacomm, comp.sys.amiga.networking (biweekly) Ftp:
- rtfm.mit.edu, pub/usenet/comp.sys.amiga.networking Maintainer:
- Neil J. McRae (atcpfaq@domino.demon.co.uk)
-
- *Amiga Networking FAQ*
- Unlike the AmiTCP/IP FAQ this one wants to cover all aspects of
- networking, including TCP/IP and Envoy. Newsgroups:
- comp.sys.amiga.datacomm, comp.sys.amiga.hardware Ftp:
- rtfm.mit.edu, pub/usenet/comp.sys.amiga.networking Maintainer:
- Richard Norman (norman@afas.msfc.nasa.gov)
-
- *Point Manager FAQ*
- Networking seems to be quite a problem: This FAQ os for Point
- Manager, a FidoNet-client (so-called points). Newsgroups:
- comp.sys.amiga.datacomm Ftp: rtfm.mit.edu,
- pub/usenet/comp.sys.amiga.datacomm Maintainer: Eric Krieger
- (pm_faq@quasar.hacktic.nl)
-
- *All about FTP*
- Explains the usage of the file transfer program FTP. See FTP.
- Newsgroups: comp.sys.amiga.misc (monthly) Ftp: Aminet, info/start
- Betreuer: Urban Dominik Mueller (umueller@amiga.icu.net.ch)
-
- The Amiga-FAQ archive
- *********************
-
- The Amiga-FAQ is available in different formats: Ascii format (which
- is posted to the nets) AmigaGuide format (which is the adequate format
- on the Amiga) and in dvi format (to be printed). Additionally there is
- some stuff, that might be useful or interesting, but could not be
- included into the Amiga-FAQ:
- txt/amiga.history On the Amiga's history
- txt/story.txt The Commodore story (or: the Tramiel
- story ;-)
- txt/amiga.newsgroups Overview on comp.sys.amiga.*
- txt/amiga.sites List of FTP sites
- txt/AmigaOverview.tex A short overview on the Amiga-Soft- and
- Hardware
- txt/Hardware.tips For those people who can't live without solder
- src/JWSplit.c The source of a file splitter
- src/JWJoin.c The opponent to JWSplit
- src/addtoc.c Utility to add a toc to texinfo-created docs
- (this document uses it)
- programmers/* Some stuff for programmers: pragmas, vararg
- versions of some tag functions and some
- amiga.lib functions (HookEntry, DoMethod)
-
- I decided to collect these in the Amiga-FAQ archive. It is called
- AmigaFAQ.lha and can be found on Aminet, directory `docs/misc'.
-
- Contributions
- *************
-
- This FAQ can neither get useful nor hit further development without
- your help. Suggestions, contributions, new answers, critics, anything
- is rather welcome.
-
- Please note, that very major subjects are absolutely missing yet:
- Nothing about sound, nothing on graphic cards, no Animation. These are
- some of the Amiga's best points! But I don't know them ... :-(
-
- So grab your keyboard (Your pencil? Well, if there's no other way...)
- and send mail to:
-
- Ignaz Kellerer
- Georg-Habel-Str. 11
- 81241 Munich (Germany)
- Tel. (+49) 089 / 885147
-
- Internet: kellerer@informatik.tu-muenchen.de
-
- Credits
- *******
-
- My thanks go to:
- *Reinhard Spisser and Sebastiano Vigna*
- for the Amiga version of texinfo. This is written with it.
-
- *The Free Software Foundation*
- for the original version of texinfo and many other excellent
- programs.
-
- *Dylan McNamee*
- for contributing the sections on Editors, Word Processors, DTP and
- Postscript and some wording fixes.
-
- *Joseph Luk*
- for help in the section on chunky/planar, double buffering and
- PAL/NTSC
-
- *Urban Dominik Mueller*
- for the FAQ on FTP and Mail-servers.
-
- *Lars Hecking (lhecking@nmrc.ucc.ie)*
- *Philippe Brand (phb@colombo.telesys-innov.fr)*
- for the complete gcc part
-
- *Jochen Wiedmann (zrawi01@decap2.zdv.uni-tuebingen.de)*
- for the composition and posting of the Amiga FAQ until July 1994.
-
- Index
- *****
-
-
-
- . (replacement) Dot-Replacement
- .arj Endings
- .dms Endings
- .gz Endings
- .lha Endings
- .lzh Endings
- .netrc FTP
- .sfx Endings
- .tar Endings
- .z Endings
- .Z Endings
- .zip Endings
- .zom Endings
- .zoo Endings
- 68EC020 68EC0xx
- 68EC030 68EC0xx
- 68LC040 68EC0xx
- A1200 (HD) A1200-HD
- AmiBooksFAQ FAQs
- Amiga Library disks Fish floppy disks
- Amiga networking FAQ FAQs
- Amiga-FAQ archive Amiga-FAQ Archive
- AmigaBasic AmigaBasic
- AmigaSciSchool Infos
- Aminet FTP
- AmiTCP/IP FAQ FAQs
- Anonymous FTP
- ANS Japanese
- ARexx ARexx
- Assemblers Compilers
- AutoDocs Includes
- Basic Compilers
- BBS Mailbox
- C Compilers
- C++ Compilers
- C-program (gcc) Compiling
- Catalog description Localizing
- Catalog translation Localizing
- Catalogs Localizing
- CatComp Localizing
- CATS CATS
- Chunky displays Chunky vs. Planar
- Commodore, Frankfurt Developer
- Commodore, West Chester CATS
- comp.sys.amiga.reviews Reviews
- Compilers Compilers
- Console window WindowPtr
- Contributions Contributions
- Credits Credits
- CrossDos MS-Dos disks
- Current directory Dot-Replacement
- DaggeX X11
- Desktop Publishing DTP
- Developer Developer
- DoMethod Missing functions
- DoSuperMethod Missing functions
- Doublebuffering Doublebuffering
- DTP DTP
- Editors Editors
- Emulators Emulators
- endings Endings
- Enforcer 68EC0xx
- Esc sequences Printer control
- FAQ's, others FAQs
- FD-files Pragmas
- fd2pragma Pragmas
- file endings Endings
- Fish CD-Rom Fish CD
- Fish disks Fish disk xxx
- Fish floppy disks Fish floppy disks
- Fish PD Fish
- FishCon Infos
- FishXref Infos
- FlexCat Localizing
- Forth Compilers
- Fortran Compilers
- FPU FPU
- Fresh Fish CD-Rom Fish CD
- FTP servers FTP
- GadTools MUI
- Gcc The GNU C compiler
- gcc-amiga-libraries Amiga Libraries
- gcc-authors Authors
- gcc-compiling Compiling
- gcc-current Current Version
- gcc-how-to-get-help How to get help
- gcc-inline-headers Inline Headers
- gcc-installation Installation
- gcc-requirements Requirements
- gcc-sources Sources for Gcc
- GfxBase X11
- GigaMem 68EC0xx
- Graphics Graphics
- GUI Workbench
- Guo Biao Chinese
- HD (A1200) A1200-HD
- HD compression HD-Compression
- Hirsch & Wolf CATS
- history Amiga-FAQ Archive
- HookEntry Missing functions
- HZview Chinese
- IBM emulator IBM-compatibles
- Icons Icons
- Includes Includes
- JemTeX Japanese
- JIStoJi Japanese
- jmore Japanese
- Kanji Japanese
- KingFisher Infos
- KitCat Localizing
- LibAllocPooled Missing functions
- Linux Unix
- Lisp Compilers
- locale.library Localizing
- Localizing Localizing
- MagicWB Icons
- Mail-server Mail
- mailbox Mailbox
- Mailing lists Mailing lists
- MakeCat Localizing
- Memory, virtual 68EC0xx
- Missing functions Missing functions
- MMU 68EC0xx
- Modula-2 Compilers
- Monitors Monitors
- MS-Dos (emulator) IBM-compatibles
- MS-Dos (Syquest) MsDos-Syquest
- MS-Dos disks MS-Dos disks
- Msh MS-Dos disks
- MUI MUI
- Multiscan Monitors
- MWB Icons
- NDA Developer
- NDK Includes
- NDU Includes
- NDUK Includes
- NetBSD Unix
- NewIcons Icons
- NTSC PAL-NTSC
- Oberon Compilers
- Oberon-A Compilers
- packers Endings
- packers on Unix Endings
- Page Layout Languages Word Processors
- PAL PAL-NTSC
- Pascal Compilers
- Pipe (command) Pipe command
- PIPE: Pipe
- Planar displays Chunky vs. Planar
- Point manager FAQ FAQs
- Postscript Postscript
- pragmas Pragmas
- Printer control Printer control
- Prolog Compilers
- Queue-handler Pipe
- Reviews Reviews
- RKMs Manuals
- Rom Kernel manuals Manuals
- Splitting files Splitting
- Stacker HD-Compression
- Syquest MsDos-Syquest
- TeX TeX
- Text Editors Editors
- Unix Unix
- Unix-LhA Unix-LhA
- VGA Monitors
- Word Processors Word Processors
- Workbench Workbench
- Wysiwyg Word Processors
- X11 X11
- XFH HD-Compression
- XPK HD-Compression
- _mchar _mchar
- _pchar Pipe command
-
-